|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
% u+ d& V& w6 u$ c, \$ _" @5 x9 R0 B$ ]3 H1 L) ~" O: ?& w, L
火狐插件,用猴子7 U" f5 G4 g& T
: s, c2 @& ~7 P8 m9 r. _& U2 wvar debug=false;
3 K2 U3 w8 g: p8 K0 o7 A9 Z% kvar CleanHideObj=new CleanHideClass();
+ l+ U/ c- P$ ^. w3 N4 J
& E& T; U$ Y% a9 u& n( Nfunction CleanHideClass() 8 m* ~' J. ^- T8 f, \
{
, @5 @' S4 c2 n) V/ j( W
( |/ H" {5 |9 V; l this.on=function(id,bMZ)8 _# c$ u4 O: ^: d' _ K
{& K1 `8 [6 Z3 f/ w$ R% L. c
5 b' H. N% ?0 ^) \/ d* e0 ?8 c
if(id == 0)
6 b0 n3 F- r h2 [1 s {
. }1 C& [5 M" A) B; A. U var page=/* document.getElementById("content").contentDocument */document;
2 e1 ?. Z) k, U this.RemoveHide(page,"span");
2 w7 g+ h0 _3 E# w. X( C this.RemoveHide(page,"font");6 Z3 P# \9 V9 F3 t6 J+ a
this.RemoveHide(page,"div");0 B7 k w7 N- {+ G
this.RemoveHide(page,"p");
5 I/ z& ?& \' M& |3 C3 z- A' O- c
$ i; n2 V! C+ k% b9 k6 ^4 ~0 b }! a, s- F% W; w) D! I
+ t1 N: R5 J& Y8 u* h4 N9 x' d }' r; y# Z# l P/ Y7 e; m% T6 u
this.getobjstyle=function(node,prop). s6 ?" y% j/ U3 p D9 T& e9 a+ p
{
1 p6 d* w# A% i7 s! P try6 E4 w0 e' B: y& R# x
{
9 U9 @0 O! \& x; q) C, u return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
* k0 C+ f. W0 ] }" I. O0 v9 S/ m2 j: C) u
catch(e)
. h6 ]; S9 x% t2 ^: g+ s. B: m, C {
( A% R8 X& M8 }7 q- o! M if(debug)) n M+ P: \ A u2 K ?
{
% D9 b' ^- R3 z5 N/ [ alert(e.message);
( }% b" G1 q6 A' Z }5 O( w8 W. |* s+ f
* j A2 K# o3 U- Z! o6 }
return "200";
# ?3 h$ \0 R- c/ N. U }
* j4 h9 ?, s3 d& @* x }
! H* c* k" U3 |
7 a* u: e8 A3 B- j this.RemoveHide=function(page,objname); N9 Q: y/ b9 V; G( O# o; h
{
, l% ^! E/ A( Z" d4 f$ c& ]$ K try/ Z) g. H/ a, q& P2 H
{
n9 U9 q; C; q0 a- r3 I* ` var minValue=15;
- v4 c* C; n, B var objs=page.getElementsByTagName(objname);
. ?( M2 n/ j2 i& r
$ r6 Z h9 c0 E/ ~0 b- [ if(objs.length == 0)
9 h- t/ F2 Z- O4 L7 V' [& s7 y {
9 H, H! ?' [7 a5 j, N0 z% ] if(debug); p1 Z" w @5 Z/ Z9 u
{
. D9 x' i) I- f; b% L9 x5 `% R alert("no object found!:"+objname);; R! a% `. P. x8 c, f K }
}
. R5 G; y# W" O }
1 L8 T' Z- n" Q1 X, d9 }6 I else
9 b, Y6 U% J* W7 ~. {2 y {
' u' Q& V; H8 u1 a: @6 k) L" r6 \
! h" R1 I+ G: x& x0 s for(var i=objs.length-1;i>=0;i--) 6 c4 \6 u% `$ ]+ F
{$ e5 B+ R) I+ W B( e
var node=objs.item(i); # T/ `+ u. V: ?/ o. [
# ?/ p, A( J {; S9 O+ b( @% \7 n) I5 w
4 i6 ?6 @& x2 m% X6 G% f' U* W
if(this.getobjstyle(node,"display") == "none" ||' A. z3 N( X+ ~1 V4 a, R7 w2 M
this.getobjstyle(node,"visibility") =="hidden" ||1 g9 _# j/ `- \9 {) n
parseInt(this.getobjstyle(node,"font-size")) == 0) % N k. ?- x/ ?1 o" i0 `: H
{& x2 _0 j3 M% x& b% A
if(debug)4 ~- Y8 E- v3 t' U3 M/ k
{+ I1 c$ H/ s& y' Q8 {' C' C
alert("remove invisiable!");
0 J8 E0 }7 |5 O% k/ q* k }/ k0 `: C+ n+ S( z0 z& F6 Z9 H
node.parentNode.removeChild(node);
' k! J8 M* D. t" S9 v- j
8 {" r6 f- a0 q M# b9 Q7 k! Q. l4 u }
7 r9 c0 ^, C+ ` else
# u$ S8 U' u2 D {
- r) ~. q/ r' o! u6 y" c if(node.parentNode)
9 D: _0 S6 a @0 m L {
) d! U) ^; D& l T5 s2 c5 x% l var orgNode=node;
& H) Y" f9 `' `; P( ^! o8 b! _ var orgColor=this.getobjstyle(orgNode,"color")
8 |! L* K# X; c2 A8 k- j4 a var orgRGB=getRGB(orgColor); * \) t1 b! b( Y
( I7 C3 i3 X: ^ d7 A' c# W1 C
var parentNode=node.parentNode# D( e1 Q Q& J5 `& ~4 h$ j6 Q& m
var parentBgColor=this.getobjstyle(parentNode,"background-color");
" m9 Q" ?9 z6 {- N* ~% n! G. R) z
3 p7 R6 P5 r0 {# H0 ]6 A8 ~4 @ var isLast=false;/ G( K" r" [+ f. ~1 {- \" }
7 B" y/ M6 y* s+ ` while(parentBgColor == "transparent")
. l% ?9 Y1 T$ r. C& U7 Y3 z( [ {+ S6 ^/ |! u1 d, s$ E
8 g7 t* I2 v# ~& D' Z / `# y2 p1 ?5 P2 i4 q$ k
if(parentNode.parentNode == null)
6 J/ G, y: i% l- j$ g+ I" L9 b {
' _! E1 X( p. ] o- }# _- f isLast=true;( P$ q% D) ]' q/ A' s
break;/ K; h! l$ i7 D" N$ f4 i, `; R
}+ X0 K: s1 L4 @& \ j
parentNode=parentNode.parentNode;- y( n* q N& E; R
parentBgColor=this.getobjstyle(parentNode,"background-color");
- w! z, \& a: p& l) v* `0 n
i' s5 w5 W& S9 B! f+ v if(parentBgColor != "transparent")
' z+ T6 d( ~* r* _ {
. o4 o; c* r4 S& B3 K5 e, y break;
8 E. U$ t( F! d- H9 E }
5 u0 \! a! R4 Y0 ^, A }! L* h) z0 p6 D' I- K5 c% x
if(isLast)
$ C) [# m7 X9 z' z6 e1 t {
4 Z6 \% h9 E& O7 F6 O" f) a4 D8 d6 ^ if(debug)
}; }& m2 L# `0 W: ] {0 Y |6 W* {- B! E7 H% C7 c
alert("last!!");
1 g0 B/ q# S' b# e. R% r. N& J3 c0 M }5 d: g0 \" D. t- I7 I8 H) K
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
; w, T6 |0 Z5 ^! r) P {
' {+ M1 Y6 E5 ^, V orgNode.parentNode.removeChild(orgNode);
0 z3 l6 ]' }" G! Y$ s1 Q }( q7 z; h' ?/ P' V
}3 r' L2 i' }( \5 z
else
( S0 ^) S! r. ~4 q: [+ {) M {
: L# V3 H# @ ?$ E0 ` if(debug)" c3 V1 m, S5 H4 k- c8 f
{
: i# ^/ A) ^: m+ j1 X! x alert("compare color and parent bgcolor!");- V# S, a) N. H& M0 L% {! ?- @
}) _, ]- x1 ~! J' a- ~
parentBgRGB=getRGB(parentBgColor);" E4 @" M. {$ s( p1 l1 b; N/ L5 P
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
7 o1 }- S; N A/ g6 r {% e; Q+ m- m! u
orgNode.parentNode.removeChild(orgNode); 9 p B- U; @, A: F
}, I! f; R ~. y* V% e u6 U
}$ {0 w" A( y" s' g3 {
}/ d( M5 M) B3 j. {! R1 O
}
1 ^4 T1 d m% E& A1 }8 w }0 ]" W8 k# }" F
}- G' T* n- k9 P k. J1 e
+ T$ [9 M1 W- }- c
( B5 t6 Y" d9 ^' q, o var itemFrames = page.getElementsByTagName("frame");
- Y! o6 A. e, {& A var itemiFrames = page.getElementsByTagName("iframe");
& x4 X" d5 m2 [9 G0 J ! c1 Y5 e' ^. U- b
var frame, iframe;
! x! O4 M7 Z- v) W( } H if (itemFrames.length > 0)
0 e7 }0 F9 Q+ W, f) x- K4 c7 { {2 ~8 `, K3 ?' u! u; ~
for (var i = 0 ; i< itemFrames.length ; i++) % M. ]& L: m$ X4 l; I4 G- o
{
! A- y- n$ y5 `, q1 a) _9 k frame = itemFrames.contentDocument;
! l! u% S w4 H( v0 O* z this.RemoveHide(frame,objname); 0 }$ ?! n. r& T- Y# t0 Z. f
}8 o; \3 N3 e& G6 X# `3 i/ d
}$ Y1 x% n& l* v2 V, h! j/ m6 e4 k
if (itemiFrames.length > 0); C6 c( d5 y; t# A5 {0 L
{
3 T8 ~6 z! ?. _; b1 p+ k$ [ for (var i = 0 ; i < itemiFrames.length ; i++)
) r7 ?& U0 v" Y9 x8 d2 q6 G {
9 y$ M, t" S" p3 s9 r: S iframe = itemiFrames.contentDocument;
( ~3 B. R* |) c: F$ l9 U$ j) C/ {- T this.RemoveHide(iframe,objname);
$ P- g3 C* U1 N1 W6 L% Y }
) B" t- f3 s7 d( Y+ s }
9 H& w c: B: @% m8 C# X$ s6 Y }
* \: n+ Y# i, v7 Y- V2 F+ t2 ~! P+ [ catch(e)
$ q0 j: ]1 p& z; \% ^0 E& g- D+ @ {
" X. Q( `/ P8 L* \ if(debug)9 c7 Z/ E" l" u$ H
{
2 S; b5 p0 Q. z7 e alert(e.message);
* Q) Z" C$ u( y4 v* s: Z7 h }
1 c, C7 \4 t/ F# | }
5 N8 v* V5 M" { }( S1 F {, e# Y* V7 J
" r# i- H! ]2 }0 R1 J& h
}
* s3 R6 x }7 I. P7 T, }2 U& G2 o+ N( d: k5 `
function getRGB(colorString)5 o# S+ Q# ?2 b W0 w/ k$ H* t
{
& E# q, o5 Y4 @5 V! o var RGB = new Array;+ n* h0 E. L$ D+ @7 I
var tempSting=colorString.substring(4,colorString.length-1);
+ C g5 u; L: ?2 N: i# ] var tempArray=tempSting.split(",");- ~& ?" G) J8 p! x
5 D( j% ?- ~$ N RGB[0]=parseInt(tempArray[0]);# a9 W' S2 n0 U1 o' w8 y
RGB[1]=parseInt(tempArray[1]);. p% S M/ T3 R3 e
RGB[2]=parseInt(tempArray[2]);3 ?3 @& g: q- c! T' T5 H; A' H
: [2 w8 Y+ E* n% M' U" K! o: s return RGB;( N4 j0 h1 Z# s6 ~+ f8 U z; U% z
}) j6 k4 ^9 z$ k Y2 W
function keys(evt) ; a3 Z0 R4 y/ M) q# k& N* r
{ # U1 r$ a2 u1 B
if(evt.ctrlKey && evt.keyCode=="81") 3 r* |2 J8 @; z% {& @0 P
{
2 k- t# c6 X3 Y# o* J$ p CleanHideObj.on(0,1);
; x% b3 p8 n) I5 m alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); . U$ Z8 ]3 _3 b+ h) T# n
5 W1 t/ P( C) S% H4 {/ P% F
} ) t) P4 Z& y$ ]7 ~. y( B
}
2 m) z' L1 n( @& a6 Mdocument.addEventListener('keydown', keys, false); , ?: b# f4 q* X$ M& _6 S
GM_registerMenuCommand ('Clean Hide',( R9 G* f; Z' p4 `2 b
function(e){0 m- X5 z7 R6 L
CleanHideObj.on(0,1)
$ q& J% g, [2 F" g; ]+ dalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
% b# Z* v( v' b5 x});
$ @4 H% g8 l3 O- d |
评分
-
查看全部评分
|