|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
9 z3 ], I- Z) }: u$ `& ?* B% x; n3 q- ~& Q; x, O6 Y( e
火狐插件,用猴子- M8 r( e* B! \0 \! ^- x2 E
2 N) B0 r& p8 V4 D. zvar debug=false; ; ~$ X0 m$ W+ M* ^1 e' d7 a
var CleanHideObj=new CleanHideClass();
3 j! G N2 \, u% k. z9 Q3 t: a8 o. S4 H4 b
function CleanHideClass() ) e( ~' D4 `6 I$ L1 l0 V
{ & h# {; p) u4 M1 _
# B+ g$ q& `& {9 i this.on=function(id,bMZ)
! J, h/ g) J7 y& z* s0 |% R8 N {
6 L* F! I" E. x0 M 8 Y5 j/ _" i' s p$ q5 n
if(id == 0)
; C# @( h, A0 m; {+ P3 e* W {
. T" f& p' h' M( }8 o5 A* p var page=/* document.getElementById("content").contentDocument */document; & ~- l5 B' M, b) Y
this.RemoveHide(page,"span");
3 {( L. t/ c! l, C* z this.RemoveHide(page,"font");6 c) E' G- N2 [0 S
this.RemoveHide(page,"div");
5 V, Y. ]! [0 _8 y) G2 i% { this.RemoveHide(page,"p");
) P% a( F$ S( k; a* ~
( ]* C% q3 I# N9 K8 E2 K- ]; [ }+ X6 B% j, l. ~; j- K( i9 E1 {
+ l* g) p. i8 W/ z1 L M
}7 U- o* Q7 v. J, k# E
this.getobjstyle=function(node,prop)
5 A' N4 Z6 X: z. `% a+ X2 U {
+ i# f/ D. \, N3 I0 D8 e5 c try
; ?% c6 v- s$ k6 F# O. j& i {
( ?. T: k+ ^5 z( o& o6 @" ], i return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
/ j+ v4 I: ]- u A5 n s- s& G }
* r6 y& U, ]+ J( y" j catch(e)0 f8 Y- u; c/ x) ~
{
, T; w. R/ {, V if(debug)( Q$ k r( s& _* U/ J& H
{
' u: K! I! J& S( S6 e alert(e.message);* g5 r( x# B( f- a8 l9 j0 H! T
}/ y+ X& g+ u" r) s
7 s: {; t* D2 @# v4 z4 `: ~1 p return "200";: X- m/ U( d( M, k* Z% U
}$ ?0 h! f6 O. o
}
8 ?" Q5 Q/ j7 p " W" ]; L% u; w. r/ O7 D/ S
this.RemoveHide=function(page,objname)
& W% D9 B% a7 J4 |! f {
6 L5 c4 Z6 @; f% n4 S& J try8 j/ r8 U+ C! P0 e# P! K
{
/ \5 `! H( q& T var minValue=15;
6 ]8 |- c6 j/ s# l var objs=page.getElementsByTagName(objname); ( k- C) j7 x. ]4 f
+ z* c& Z0 d4 `+ z
if(objs.length == 0)
) r' A9 {! d# B# ? {9 Q2 v/ e( u% g8 h4 y+ k9 a
if(debug)3 R* q) E x$ K; J3 J9 \/ F; I
{) U) x9 H1 L( U0 K" {
alert("no object found!:"+objname);
6 J0 r- W5 L, Y. \2 N }
9 o# v) b; e5 D) _7 O6 k }
3 V' U- t" C' V, K! f0 j else
4 |+ r* w( G; |/ a* H {. b9 a& n1 {/ q. E3 \6 y" u$ D" p7 i
( }. T: Q" {" ^& s: d9 n6 ?* ^
for(var i=objs.length-1;i>=0;i--) % h8 s: a4 X+ k% g# N
{
1 Y/ ^: [1 }, T0 L. e, k var node=objs.item(i);
$ P# ^+ f$ h- N; C. G6 K
/ I+ s1 C) P2 ]/ ^' y0 P) ~9 [
5 c4 K1 M, A) W' p4 ]1 w, c% S if(this.getobjstyle(node,"display") == "none" ||
5 e) ?- w% l( `: E8 l$ g this.getobjstyle(node,"visibility") =="hidden" ||
' R- d7 A3 c/ v8 ~; O+ ~ parseInt(this.getobjstyle(node,"font-size")) == 0) 4 T! Y: y1 n+ h9 w1 b0 P4 j1 \7 h
{. [3 x3 ~4 P, A3 h- P
if(debug)/ [: r/ |7 G- ~" {0 W2 i6 d
{
# a, I2 Y8 L2 z$ o" {9 `4 m! P alert("remove invisiable!");
1 u1 Q0 n) W& j# N }0 I! n3 M; P1 }8 c% i" k
node.parentNode.removeChild(node);4 X* ~6 X, L o! V+ R6 I0 c
2 R4 Z& z8 n) Y8 W3 W; a
}2 P) N- w7 i( W
else
" A. K1 ]4 S+ i; A6 E! ` {
. @6 |7 q/ D1 ^, O% x if(node.parentNode)
) }& y9 h% p0 m' f {7 q: X9 G7 `+ n
var orgNode=node;8 @, l+ Q3 O( W8 g
var orgColor=this.getobjstyle(orgNode,"color")
" N8 C4 h; S$ S1 C1 T: @# _0 G var orgRGB=getRGB(orgColor);
( f8 z1 K. W1 o2 n B( f$ T8 g% \ : D8 c1 V6 J4 x- r {
var parentNode=node.parentNode
$ r I& ?3 k; y" n5 H var parentBgColor=this.getobjstyle(parentNode,"background-color");
, l* M* C1 i$ X0 B3 c$ o
+ S2 r1 c' B F6 X2 m8 U1 B* E, `% W var isLast=false;
9 X: A8 p x( N; ?7 X( D % Y2 I' P7 \6 N2 v5 k, F3 u
while(parentBgColor == "transparent")
1 H3 C7 @, k; D {/ {% R. l5 Y# F+ p- c* z2 G
8 _, T3 U# Q7 S2 Q# O: Z
! Z( M8 b" {+ z* o' k" y+ T8 P
if(parentNode.parentNode == null)
. D) @* S2 G+ C7 k7 T) H {2 S& o; [* }, l7 _
isLast=true;) f7 a1 J- X4 x* Q: p# ~+ {- _
break;+ x! b4 k- Z; P6 T h O% R
}
* m9 m2 b, V9 P8 ^. ~( ~ parentNode=parentNode.parentNode;
# E$ F$ `. s. }& @4 C! x parentBgColor=this.getobjstyle(parentNode,"background-color");
7 W U* C- d; f" f
. [& e$ J' J' K, W3 ~ if(parentBgColor != "transparent") ; ^' k* i' w/ f P
{
2 R! \1 o" @& e! E4 k/ T break;+ a4 Y& y; k# k, f2 W/ ^3 k
}& a1 m, g" c/ o7 u2 K
}; R' p" K! C; V D
if(isLast)
+ B, w4 i3 \+ j4 G* D! z {9 h: L' ~7 d9 t0 c. [
if(debug)
, \3 K- L& S9 K3 e {4 }5 l2 x- G& j0 L3 b% [4 m" Z( I
alert("last!!");+ Q2 v" b+ {; r ~6 m' l
}( N- g4 G) U3 h
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
) [: J; A- Z' J1 T$ k5 k {) x& y2 x/ `3 Y
orgNode.parentNode.removeChild(orgNode); + X+ K6 w, }4 d5 L6 x. V5 @% V
}. D% |( ?; l7 |7 Y8 S
}
3 F E( n4 i, S0 B else4 i3 ^3 F/ D) ]+ q% K% D- b) L
{
& K/ x- m V% o; l9 N if(debug) n! b) Y7 j1 E1 t4 ^8 @5 H
{
. b- u1 f& k: o alert("compare color and parent bgcolor!");
- x7 H H" I# } }! A4 @2 i; F# _, `* ]6 S+ c4 K P9 X7 u
parentBgRGB=getRGB(parentBgColor);
/ _- S- V( s J" c$ t. s: @# b8 Q S' X if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
4 X% }7 C4 P0 g1 ~4 i2 R {
* G$ ~) i4 r' |( ] orgNode.parentNode.removeChild(orgNode); k/ B+ ^% X" F) M6 ?) A
}- S5 V8 | W" M
}
! T a! {6 T% I% B }* f7 h. f* X" K6 Y
}# R6 n, b0 w, W6 q
}
. ?# p. _5 \' M: i }8 ^1 p: {# x; x
0 S: _8 E) d8 g4 ~7 \; O
) Q: q8 z+ n! ] P2 T var itemFrames = page.getElementsByTagName("frame");
$ L2 o j8 G2 r! k( x4 v var itemiFrames = page.getElementsByTagName("iframe");# V" l5 ], i1 V3 }7 N r
5 e' O1 U% z" H5 _2 y" b var frame, iframe;; ?. @* j/ f, x/ Q( D
if (itemFrames.length > 0)
Y1 e2 ? O* c1 P6 d. G { H. Y1 z3 W, P3 c: C, w1 r
for (var i = 0 ; i< itemFrames.length ; i++)
; x% C+ L H/ |8 A" z4 G {
* e8 ~4 D" w) U6 F5 ?& m frame = itemFrames.contentDocument;; B3 @8 G& b8 k
this.RemoveHide(frame,objname);
$ i' f6 E+ o; ? }
; K) Q; ?. m! O9 f$ j! N8 T8 U }
0 s+ q/ y9 h) z, a- c. \4 B1 e if (itemiFrames.length > 0)
# a8 \% Y7 y5 B% @0 n* z1 E* t7 v {
1 F. x( D' ]: Y2 E( w5 ? for (var i = 0 ; i < itemiFrames.length ; i++)
( M3 R$ D, ~- F2 K7 v, U6 h7 q7 X {
! N; Y" Y5 I; Y9 i/ h iframe = itemiFrames.contentDocument;" H7 \' J3 Y7 a) }& t) K
this.RemoveHide(iframe,objname); 3 S8 P9 \' X1 |; `. Z4 x# C( D
}
8 {) d, b( M, m+ b) b# P# ` }
# b( v1 }/ o/ W/ w/ W( |8 f }' Z" @4 f* ?2 e1 g W2 v$ W
catch(e)
- E, W. `* G3 T$ z9 j5 }4 h1 k. ]% d {% ?- O" E r! s5 s
if(debug)
# H) v9 P( x8 o2 U {
: p( b3 f/ H9 V6 g8 O6 { alert(e.message);
. h, c) L: J7 p8 k; y: @ }" G: b7 `; R! H3 ]
}8 o7 u7 d$ ]; m0 g9 b
}6 C7 O% F' g" G! f
4 I7 C! _) R( y; W1 t9 N/ K}0 g( B0 e7 R7 x% J" S
! B+ M3 I, _5 `3 O& N2 Z1 K7 gfunction getRGB(colorString)( D3 S; e- C8 E1 X/ e+ A/ ~. a5 _; @
{
$ J( H3 _% u' I9 \. o2 ]0 z1 l% L$ x var RGB = new Array;; L- m" C+ O5 W0 v4 d. k6 U
var tempSting=colorString.substring(4,colorString.length-1);
( c6 w: n2 I+ A; g* q var tempArray=tempSting.split(",");
: k A1 r( d) W! d, _4 U, ^0 i
- o5 J) Y: e8 M+ r/ W RGB[0]=parseInt(tempArray[0]);
7 D( I f9 V/ k: \7 @ RGB[1]=parseInt(tempArray[1]);
2 r* S( a0 O) d( z% f7 `4 l RGB[2]=parseInt(tempArray[2]);
8 j0 F" k+ x' N# @: ~5 N2 } " E4 B- \& o2 y; ?. k( A
return RGB;
$ k8 O/ @: N0 n: h, ?}# K( @5 J. ?% S7 h4 C
function keys(evt)
5 N: [: j" j+ X; J { 4 a4 X6 i1 g! P
if(evt.ctrlKey && evt.keyCode=="81")
4 a1 O6 D9 Y* t. F+ }; Q1 l( i/ v { - s5 w7 ]; T8 ^4 e
CleanHideObj.on(0,1);3 r7 X& F+ R. u, K2 R. t: o/ z
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 4 a! c( P8 N: m, i4 M
N9 _4 @5 `% W/ X
} $ N' P' ~- K8 [
}
1 R0 M3 S/ G6 I8 y. N P0 T gdocument.addEventListener('keydown', keys, false); # p" g5 a- O% Q4 H8 V+ j o& k
GM_registerMenuCommand ('Clean Hide',3 h' G/ a& S( P$ _, u2 {8 O
function(e){ H. F$ q# t" ~; l }' e
CleanHideObj.on(0,1)# [8 N u" ` _1 T8 [ o' C, y) v
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
" ?8 x" _4 Q) I8 V});
( x* E; }9 b6 O" ~+ y8 P" r |
评分
-
查看全部评分
|