|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 # c/ g. G! B+ R7 e
" _$ [( Q+ k$ m3 l$ C n+ v9 i
火狐插件,用猴子( @8 H3 C( K; L$ k8 w" B
2 w7 X" L7 s& i: W
var debug=false;
; d B7 `* ^" c/ b; s5 W: ~5 hvar CleanHideObj=new CleanHideClass();, c6 o) p$ _( E: b
9 l" ?: F1 z& J7 m
function CleanHideClass()
9 ]) Q2 [- c& l* h+ [/ @/ g{
3 l# m- Y( Z e! G * L) }" p+ r* \1 t) d. a5 }
this.on=function(id,bMZ)
* q( i6 k5 `. m$ q; U {" s0 f6 H0 p+ f8 k* h. h, H
* g2 g6 ~. l% }8 b
if(id == 0)
( H; y$ C7 D9 T/ p {: |% B/ B& M0 X( l
var page=/* document.getElementById("content").contentDocument */document; 5 @7 I4 Z7 x% X8 \
this.RemoveHide(page,"span");7 P) d8 Q$ M4 v3 ~- R. p
this.RemoveHide(page,"font");" T" d& M4 L H( {* K
this.RemoveHide(page,"div");
, z1 b- ?4 }5 S! m! u5 m2 o this.RemoveHide(page,"p");
0 Y1 d) d2 G& t/ [2 l$ i
2 ^& i8 U# i9 d2 S7 _! W }
. J- d H5 n2 i6 ?' i. u+ P; o
6 p% i& L0 T4 Q2 I0 M6 C }
: W) F9 W' B7 i* B$ X% ] this.getobjstyle=function(node,prop): u& A- I, q2 L
{2 o _/ q& r2 H5 W
try
% ~! E& k+ j! ]2 R. e6 [ {
! w! R- m$ a% ` return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);! |, f" K! D) J2 w. ]
}
' f! N* f6 q* ~. k% w& X catch(e)+ C; _& a! j$ k7 G; W$ T Q
{0 N. O: S* r- F- w/ ~- X
if(debug)
& B4 Z* j0 D. H) _ {. a) p! s6 r3 D8 ]
alert(e.message);
e" z" g5 h9 a) k8 y. V- `. o3 ~ }. s1 h6 B% @: T9 C; R
5 S2 z6 v0 e7 }/ j: l return "200";
9 F4 G. B; w$ r }1 W+ j* V, T8 y }! V+ H: k4 i! i/ J1 K8 N
}
1 j+ {' A& }1 C1 G 4 }8 _( v7 l/ \8 n$ ~
this.RemoveHide=function(page,objname)
3 m' {. o" V) F" E3 e {
1 W0 Q% o% w2 T N+ N$ j p* [ try
" j* `6 g ?3 x& U {. q3 M. B5 A( [6 ]
var minValue=15;
0 o7 I# [* _0 X var objs=page.getElementsByTagName(objname); 0 G. \8 e9 m1 }: r( U2 E
Q' E8 G# \+ x; e4 d; E if(objs.length == 0) 2 k+ q/ J9 I: Z& P1 [* U
{5 W0 l* ^. W( ?. m: d
if(debug)# L5 n# L0 s* v! Z1 Y# S, ]. m
{
- V/ r5 e' y0 G3 g, `& C, y alert("no object found!:"+objname);
1 O+ f7 _' x6 A, O: q }
5 X, K, q8 R. u2 `* U }. I u8 W! `6 J
else2 J: \! O0 y u0 L
{
2 w- v5 }5 S- s4 n' ~0 }1 i
: V& p- T' t( k: q. }# T for(var i=objs.length-1;i>=0;i--)
1 D/ b$ q1 |- J1 N% `' w {! N, Y& _$ R9 g+ x2 w
var node=objs.item(i);
5 n- r0 h* S7 h' ] 2 l# G/ O* Y0 w. o; @. q
1 y! I" q% g7 k6 R
if(this.getobjstyle(node,"display") == "none" ||: Q# K7 z' y6 ]
this.getobjstyle(node,"visibility") =="hidden" ||! P, V% m' ~4 t4 x; F- j, Q2 {, b
parseInt(this.getobjstyle(node,"font-size")) == 0) 8 H3 e# C& X- k; j: l) @2 E
{
* {. x% u' V0 m4 r: s if(debug)
! a. K2 c! c: |+ D% X9 |2 W {% h( C4 E6 k! h. |- B
alert("remove invisiable!");# u B5 S! m& q& j; m; T2 o
}, ]- x: o* I3 l1 z- v
node.parentNode.removeChild(node);! L3 ?3 [) q6 ^, I
8 p3 u: T' b* p: _* ^ }, [+ A3 A2 \. Z5 z
else 9 D: {. l: r( L1 l. Q H
{
% r0 E9 g" k$ E- E/ V/ x if(node.parentNode) # s8 j1 m. k" _! c" h8 B
{
: v& [( l; D. ^* C var orgNode=node;
1 `9 B0 O* l) d- }9 u- U. K5 s var orgColor=this.getobjstyle(orgNode,"color")
+ a) u* x$ f* T6 {$ D D var orgRGB=getRGB(orgColor); , m! r' F. n) t" W" \# ?
8 J+ O: {- ]6 Y& ?
var parentNode=node.parentNode
' n- T4 o" ?9 \9 H var parentBgColor=this.getobjstyle(parentNode,"background-color");
8 f, K" [; i% J3 z4 [ 5 i9 w; R" g# z/ V8 u3 W7 ^
var isLast=false;
) w0 f6 W C9 c' r! h: U' U: W 3 I" ?' Y; r: M5 Q# b$ j8 H
while(parentBgColor == "transparent")
/ w1 x/ @' v) q: F {
# N, J. X9 ^' _4 T' v+ a
; w, g& N1 q/ U6 I0 }- ?) f / J; O! v# B& q! A8 z
if(parentNode.parentNode == null)
! R. G' S. t1 \: ^! V$ H {5 s. X( D; i" ^. T
isLast=true;
' t3 h) ?$ q! s1 Y( Y break;$ B& G6 ]5 E. h; B+ e
}5 }" P# T) G4 h
parentNode=parentNode.parentNode;
+ Q3 C) J p4 \' F. ?, _ parentBgColor=this.getobjstyle(parentNode,"background-color");* R! w, l3 ^- E& E1 x: @( b' }. _! Y
, T2 i9 T L' D* @" [ if(parentBgColor != "transparent") 9 V4 p! \1 f1 `$ x8 w, M+ A/ v
{1 B* K/ H& Z- L& b) T* i
break;
4 G& ^! b1 b7 l: z }
/ v' Z) F0 n* m3 ^8 ?4 ^: G6 G }& ~: Z9 I* k( o' q* c
if(isLast)
6 |5 T5 y% Y; v; h* E( N$ u' y {
4 e" J- ? }3 k# q4 \9 h if(debug); `! @, S; `, L, j& }8 A% @/ Z
{3 F a, b+ T7 x( h# w- U2 a
alert("last!!");
9 m W* v S$ c8 |' t% U6 q3 k' h }
6 f# Q5 n, E) r# H. l2 g/ I7 R if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
9 q; r% g/ M" z; [ {1 t0 P2 } L, [& i1 N) B/ P
orgNode.parentNode.removeChild(orgNode); & c" f% c2 x: }! x; H% L$ G x
}
6 K/ o: u+ W" k0 M$ v }
m: z, M: w7 `. @- N else
/ t2 j5 b5 L2 }" t {# P3 i7 T9 W: @- A* C" |
if(debug)
; }& \& h- J7 o! V4 W {7 p/ M" \; r( J8 z- [+ O6 w( ^
alert("compare color and parent bgcolor!");" r7 ~: E7 n8 p: T, z1 X; L' k; q
}
- L3 h+ U) g: t1 u; e# g parentBgRGB=getRGB(parentBgColor);* `9 C c$ g' ]
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
: P% ]2 F* t g, c {. K" e. B+ n% a3 B5 c2 W' Z9 a
orgNode.parentNode.removeChild(orgNode);
1 u* `% F; N0 i5 q }( \+ b- l2 A$ U3 @) S7 J
}
( m% l: Q+ |- C }
" T0 k+ f) m' w% x }
! p2 Z2 J$ j4 U; s9 ^! [, L3 |3 V }. M& ^ b$ C) i- T) h! v2 M" u
}3 j) o0 Q) e+ f; @3 E% Z
2 B, C% {$ {- l% g
4 o+ b& J! q9 f4 B3 z1 l" \
var itemFrames = page.getElementsByTagName("frame");4 Y* e& b# H# {* U
var itemiFrames = page.getElementsByTagName("iframe");
: \- O8 {$ ~ s; f/ q9 x 7 }& Q) a/ ^3 W# r
var frame, iframe;
4 j$ T I% C+ ^ if (itemFrames.length > 0)
& j7 U. T( J( v i8 g5 ?! d {
' n# X8 Z% [$ V6 k) i3 L for (var i = 0 ; i< itemFrames.length ; i++) o4 M; r( T7 b3 |: X& X1 f( f
{4 c j U5 s4 R5 R8 G
frame = itemFrames.contentDocument;; v8 S1 s. V" E5 G C$ }
this.RemoveHide(frame,objname); $ R9 B! {, ]* a* k
}4 f- ^2 s$ v) x" v2 h
}
! @+ D5 |7 R( [ if (itemiFrames.length > 0)
' e7 @* T. e% R3 \! Q {
. R4 K. j+ ?! ?0 d7 W for (var i = 0 ; i < itemiFrames.length ; i++) + f+ Q- i6 C0 ~; z. A% F
{" Y' @ Q+ E) f! ^2 }# r0 n
iframe = itemiFrames.contentDocument;
% x* f- P8 r1 Q' g7 d7 X+ W9 s this.RemoveHide(iframe,objname); 7 b. @& B& L4 ^" y
}1 D. D T7 Q8 ^9 y
}$ z) t+ S* Y- X6 j# N6 O. U% p. F
}
3 G1 J; ~* f9 O3 e( N, B catch(e)
# B x; G% W5 T7 c+ H8 ?& S {& F0 ~& m. h0 t- Z
if(debug)% ^( @' q' {3 h3 u, @ E
{
+ [; g0 I, B6 i2 A. g) I- |) i$ b alert(e.message);/ ]( _ _! C/ b& b+ O
}3 B$ C$ M, _0 {6 X4 N C
}
. y3 p9 T6 H+ p% d0 N8 d: x }
. D; D0 R4 w, [4 h$ t9 @6 ]- G 7 g9 b2 l6 }7 ]% r1 E
}
1 T$ {. }& c# E( L1 ?7 {' R% L; p
! `1 W6 ~! f" M9 K% Afunction getRGB(colorString)" z% `7 M* n7 X- G0 A+ N% G) n
{- P6 r+ Y T) i+ P
var RGB = new Array;" D3 L* F# c" i3 }
var tempSting=colorString.substring(4,colorString.length-1);9 g u) q. [/ L" ]' G# [3 ?. N
var tempArray=tempSting.split(",");8 }1 Q! A8 t9 D i, l
+ R% f$ b9 v; O% t. k* H
RGB[0]=parseInt(tempArray[0]);8 s/ l0 i& X- F0 p, O% L- B$ v8 {
RGB[1]=parseInt(tempArray[1]);
: E4 C& u2 U1 e* V5 R5 m RGB[2]=parseInt(tempArray[2]);- _9 ?7 W6 X$ a
* u) Y+ B* C0 I6 v7 n( u
return RGB;% j1 e% p% E. G
}
7 {) I& S L A" z$ Q5 B& qfunction keys(evt) ' P b' O: e# _$ T: g
{
. A( { o8 u I+ H if(evt.ctrlKey && evt.keyCode=="81")
3 M& ~2 D. e7 v; Y; C8 g3 } {
; c; A. \+ R5 E1 D, g( ]6 n+ [ _ CleanHideObj.on(0,1);. a E* H/ i/ f- k: e
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
7 k- u4 i% f$ l l; d/ C+ q% ^. M( D4 ? 2 j: v7 A% g( m3 [1 `* ?, [! K
} 8 W) v9 J: [+ J8 t8 X
} / f1 h5 t7 ~ r/ Y
document.addEventListener('keydown', keys, false);
8 b* G9 r* D6 b1 v# P9 fGM_registerMenuCommand ('Clean Hide',! c2 i" o' N! |; q
function(e){
: C4 S. C7 z) z' g+ V6 u5 eCleanHideObj.on(0,1)2 I; u! J- f/ b* a/ v/ e
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
+ Y& o( m6 J6 P! \- \});3 a$ ~6 H: L5 c
|
评分
-
查看全部评分
|