|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ; z/ H& X# u# Q; E& g
# K! J" ~; d% U H( o8 Y( u
火狐插件,用猴子 ?, _/ A/ J- c6 U3 M$ }
) Z. s/ F; Q* Y2 c* K5 U, W2 T9 ~var debug=false;
& I- N5 A) M/ K% D( x6 D! z7 yvar CleanHideObj=new CleanHideClass();
, ^- h9 ]% ~* F% `: M7 D
1 M3 _( _5 Y; ifunction CleanHideClass()
1 q, f, Z9 ^4 R; s+ h& A S$ s{ 0 h5 a2 {& `# u4 Y# p
2 M1 Q$ N& P4 B0 B1 W! F9 c
this.on=function(id,bMZ); l1 k5 g9 u5 i) I# W0 X
{
3 G1 C: @ B5 S' M' u
) \: J& z# D6 X } if(id == 0)
! t% F( _( ~) m {3 }. Z( U* G+ p. ~( T
var page=/* document.getElementById("content").contentDocument */document;
7 U) S( j$ V* e9 |6 N* v this.RemoveHide(page,"span");
_ d6 ^( S- R this.RemoveHide(page,"font");
3 w5 n+ k) y- ^$ F; Y+ R this.RemoveHide(page,"div");1 W9 R0 ?4 L7 D& g& m5 W" h
this.RemoveHide(page,"p");9 F( w# T3 r$ G. p( \& B) R
1 _- `( s) i* x* e" o' `( T( r
}
* N' H$ V7 [1 `9 M5 }7 e5 L . i* y7 T; F2 i2 _" d, ~, h) P
}9 h5 t) {, `! q% L, @1 c
this.getobjstyle=function(node,prop)
' y, W8 ~- d# M' d {7 o0 s8 K( Q, I: C4 g& L5 J G) N
try
5 c1 v7 N! g; Y+ U {
' h) j9 b6 A( h0 C8 q return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);( P' P2 _, i) O/ Q
}
1 p/ [/ b8 v% S( ~) x0 D, R catch(e)
, j0 K3 O1 Y) t2 E$ N8 [5 ` {: [! C* G. [9 p; q3 Q
if(debug)+ o; y/ F5 [4 k z! n! x5 s
{
" }+ T! i W9 ~5 y, s* \ alert(e.message);
6 g( b( e2 A% }3 } }, ^ C0 r1 G. {& S
- K) W/ Y4 j. j. P0 \ return "200";" |: X: o/ a9 h$ U+ R }
}
! U- {+ Q A- G2 z }$ ]; \- }6 } G( r# \/ l! t
?4 w2 l9 n+ z; J1 F9 A! j this.RemoveHide=function(page,objname)
% k1 f1 x& S) F3 v4 [: _& e {4 `; t+ |% c' P4 S) x
try
$ c+ k8 |$ E' f {
7 m7 o9 I0 v! M var minValue=15;( Z3 Z/ q7 ~+ |$ N! z
var objs=page.getElementsByTagName(objname);
/ x( k! Q, P0 K. B' u6 ?/ Q+ @* B, f3 C
if(objs.length == 0)
& u. k8 R3 a* t# p4 d3 U/ N2 R+ Z {4 Y% N, o7 i: T
if(debug)+ F9 z" P* [8 P: ~
{0 g: @; b( X5 H' I1 q4 a9 w
alert("no object found!:"+objname);$ J7 |3 \- s4 e, L8 n' d7 e# ^
}
- V' }2 l, H/ S: ] }
5 ^4 [8 r* r5 [ else1 }" _* z' \7 \% c
{9 \' j) \3 q L8 X( O; f" z; z
$ R9 ?1 E: o5 _8 M& P2 h7 P5 D
for(var i=objs.length-1;i>=0;i--)
0 B" T$ t% h- G$ \2 ~ R1 O {
% k( ~5 r8 P- p1 W E9 I var node=objs.item(i); $ s+ R, X4 Y$ Q
* ]" i: ^; B9 [" D9 p/ D
$ Z8 V1 Y, J) |# x2 o if(this.getobjstyle(node,"display") == "none" ||
* i: A& x% X7 D& ^ this.getobjstyle(node,"visibility") =="hidden" ||
D6 z& P. v ]: |8 o parseInt(this.getobjstyle(node,"font-size")) == 0)
5 E! x: l* Y1 M2 ~ {
* ], m3 c) G3 T$ ]: p if(debug)& D6 _; ?6 C; a' Y" M; s/ U
{ B" z( H3 V0 `
alert("remove invisiable!");# i- B3 N( j4 W! b1 z4 t
}
4 |4 N z' N4 c! v/ z4 ^ node.parentNode.removeChild(node);
2 d" Q3 Z7 ^. F4 E! ^+ n 1 f/ S0 b) T1 x$ e" D$ u0 I) R+ \
}( c) A, ]. X! n- y. N9 S
else
6 r; R- r6 A) G* _ { o0 h0 a7 p3 `+ n& I/ ]- O
if(node.parentNode)
8 v' ? ^2 T, l5 w2 O {, @( J G$ v V. ]
var orgNode=node;
5 c, v2 f* y; J: v9 _5 }; F var orgColor=this.getobjstyle(orgNode,"color"). j( ^ O$ [, }* _ d2 C
var orgRGB=getRGB(orgColor); . i, J# g, x" P
! {' T6 t$ t+ Y; H- {0 a" ? var parentNode=node.parentNode
, m9 z8 w3 P9 q S1 c# e var parentBgColor=this.getobjstyle(parentNode,"background-color");
% d, c: F' g) K) X; I3 y S8 c# j2 e
* k+ _) c' h( l/ R var isLast=false;
7 [3 e7 r* a3 r+ {1 @; i/ N6 E 5 x* q! f, X( Q7 b5 r9 Q
while(parentBgColor == "transparent")
$ c/ {9 o! C* r, w4 S. e {
h# C# i9 G! l/ [" R& ]: L 2 S+ K O v2 P3 l" e: c6 E8 K
- V2 }) e1 S; J7 c* n
if(parentNode.parentNode == null)9 S5 u9 }+ u2 I2 _: b
{! {# F2 H2 S: J9 Q; C
isLast=true;
) C/ z6 ` ?" `7 U0 J6 a) f5 y break;* X: q$ j' j B7 O; @+ s( x! f- _
}
, i8 O5 O h9 S. S parentNode=parentNode.parentNode;" F8 E0 r6 U& I( }
parentBgColor=this.getobjstyle(parentNode,"background-color");
2 h. _- H) X- r& L) P' V3 f* d! r" L2 z( ~- y3 ~, w# \7 s: f: M/ N
if(parentBgColor != "transparent") + K! V& v1 g- [* A* b3 x# _. T
{
8 N& a; E/ A. F% C+ w3 c3 s break;; Y5 P' V& d6 u' b2 O
}
+ Z$ ~ n* G. f" j: e }
5 y$ q" D7 D B9 g" B if(isLast) ; t `. f0 U% ?6 o! u( a
{/ e- \/ C H0 S
if(debug)# L7 ~6 g" x" p0 r6 _0 Z3 v4 I
{3 P0 @* b J- h
alert("last!!");% Q9 I, q' R7 K# C
}
6 B( l1 n7 s. H- S9 \9 T: s if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))1 w% x) S. E2 A7 G5 P I
{
* e8 @7 H6 V7 }( ~ orgNode.parentNode.removeChild(orgNode); & v# x3 g) ? s* P
}4 L( K0 |8 a; b2 m+ p J
}; T8 ]; T9 D8 F5 ~0 k# E {
else6 Q4 U" B& D. S$ F* m% Z+ C
{' B9 ^' V) q$ `2 _: i
if(debug)( }) d2 l) u% N/ u
{
3 Q/ \, j! V+ T) i. J- d4 q1 u alert("compare color and parent bgcolor!");. r' e |: n; M1 o. L
}
+ ^& ~+ i! h, ~! z parentBgRGB=getRGB(parentBgColor);" `% |. d0 }- n! l S
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)); ~3 o8 p' O4 J1 V/ s' H
{
) H$ E' Y g9 W9 \) D7 |$ I orgNode.parentNode.removeChild(orgNode); 9 I$ s- e; S# L1 k2 r( H
}
( g" ?* a9 K1 E7 e$ G9 c }1 t& S! W' e" _1 P6 J# x( |
}4 E D( g% [3 X! g. d- O
}& a0 W4 |1 g' _' Q
}
: J8 C# F, d5 ]/ I }
) I G# o" O$ ]6 ]5 T; c
; k0 q% r3 S/ F* Z
( Z6 E/ i' f" n' j; i var itemFrames = page.getElementsByTagName("frame");5 P( | g) n- W" q9 m/ E
var itemiFrames = page.getElementsByTagName("iframe");
" f- n' k& W$ W, [2 t8 F+ X* d- w/ w . B% @! Z: w; |; Y' O( E: z- K$ J
var frame, iframe;7 k# m6 Y- g. `0 o! {0 p
if (itemFrames.length > 0)
" Q* H! W' c2 ^5 U# R( j {- K7 p% }. a7 z8 i5 B; B, ]; }
for (var i = 0 ; i< itemFrames.length ; i++)
/ x$ o- ]. D5 C1 w( J& T# V {1 n! T6 b5 B w7 g. N& q
frame = itemFrames.contentDocument;
+ C' @# \( |6 J0 i this.RemoveHide(frame,objname);
/ x4 a3 J( {) e- e7 A: @- P h }3 S# p- C% J' i2 A# R, I& D& D
}" t$ _1 |) @3 }! ^. c
if (itemiFrames.length > 0)5 d/ r2 w( \' t! S4 _9 e0 @) z
{& Q: V" R( T' U& {7 v' X9 W& R! O Z. u
for (var i = 0 ; i < itemiFrames.length ; i++)
8 V5 s) |5 T: L2 ] {/ I4 y) M) D% S$ x9 Q/ v, F
iframe = itemiFrames.contentDocument;' ^2 [, E) C4 C' x: G8 R5 g6 Y
this.RemoveHide(iframe,objname); 3 D1 k$ d, v o4 f1 D$ T
}! u5 x& h- Y9 R) W* t2 I
}0 |; Q0 Q$ |) p* Y" B" j( W
}, h" v+ Y. o! s! P: o x! K
catch(e)6 M$ b7 i8 V6 C, ~9 j+ W Q. B
{
/ p9 ]* u& N( x3 z+ k if(debug) O7 R7 m! l+ f+ u1 Z% S6 `
{" E& r. i. S" g. X4 W( t
alert(e.message);. i6 {( r! w! Y5 h# }! q
}
( a& h* v6 J+ B3 o |4 c$ G: K; a }
% ]; U9 |$ |7 k. r" S7 H' t3 h5 a G }$ O8 F+ G, Z+ Z1 r, y" S
8 w+ Q2 y' k, ^$ F/ R
}, Q! W4 R- E) {# Q$ w& o
5 B1 w; |- W. G y( k9 L; h3 |
function getRGB(colorString)) ~- k4 e% v) l
{6 ~4 a. T8 X1 F3 O2 }9 k1 _
var RGB = new Array;
6 @4 Z. C$ b9 N3 o7 H" A var tempSting=colorString.substring(4,colorString.length-1);
5 j+ @ q. k* z3 g1 @8 e' a var tempArray=tempSting.split(",");9 d1 K2 {% ?. c% M
8 E1 Q3 m, s7 ~. u- S
RGB[0]=parseInt(tempArray[0]);
$ P( i% r4 j' d5 [( R RGB[1]=parseInt(tempArray[1]);: j+ i/ s' J+ @0 T6 C" ]2 R' y! b
RGB[2]=parseInt(tempArray[2]);
; Z ]2 @6 B3 L* k2 o
) B- A$ ]& |$ z, y. A1 x. @$ y; ] return RGB;
( E8 } S( G: q7 b J- `}, }; @, X/ d# o! v& m6 c; v
function keys(evt) * m" m7 i; G8 O
{
8 S* O; x- }4 k if(evt.ctrlKey && evt.keyCode=="81") / ]" U, w7 v7 K" s) S3 ]
{
7 O" m: e$ G; u CleanHideObj.on(0,1);0 H- i" E( U2 V; q D; x
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
: L& E7 m+ z8 c9 F# J+ |" E+ N8 k
) Q: ?# \* {2 e3 l9 A }
4 O5 c. r% Z! H; e* A }
0 A' K! _! T/ Edocument.addEventListener('keydown', keys, false); # \$ E( i0 C- L8 y8 K
GM_registerMenuCommand ('Clean Hide',
& t' R+ O: O1 z- X% E' Xfunction(e){
2 U0 ~# }+ R# ]" eCleanHideObj.on(0,1)2 a& }3 b( g& s+ T/ X9 ?
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
" [. ~! [3 U6 a& o& a; g5 s});
, z; v4 R) @1 E+ i* o. W |
评分
-
查看全部评分
|