|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
; X9 ]9 z+ {& H
0 c' f2 i8 d7 e/ L4 Y) u6 N火狐插件,用猴子
5 S7 G' a0 U: O: w& \
4 n* F A1 N9 ?# M8 H6 }. Avar debug=false; ( I4 b5 h" e2 w p
var CleanHideObj=new CleanHideClass();
' Q8 F$ k. y3 b6 K5 ~3 y0 H, k7 L* W( m4 Y4 }
function CleanHideClass()
n; C: s9 l3 T! {* r1 |{
3 c! V+ a8 F0 r/ ~. A, N $ Q1 U# T& L# M" E `# G" A
this.on=function(id,bMZ)
5 i" ? y) s& E {0 Q) z, T0 l4 A' T$ z) s/ u# X
8 ?( q R: }. b$ {1 M if(id == 0)3 z, k/ P4 v6 b+ {/ x, D, ^
{
, q8 V0 I. c2 M7 `4 Z3 u var page=/* document.getElementById("content").contentDocument */document; 7 v P/ s8 A8 V% \+ ]) g
this.RemoveHide(page,"span");9 Y0 t% M& Q, r7 Y# n0 R
this.RemoveHide(page,"font");+ b1 l0 Z! c% ]2 C( @
this.RemoveHide(page,"div");
7 y4 \3 o5 |9 U: z8 n+ D( w& _8 l8 [ this.RemoveHide(page,"p");
* X& @% F2 S9 o; v ! c/ v8 U* o# o( K& a
}. ^6 e2 I$ c) |/ a
+ f/ l8 J% X. @7 |- v
}! R# r: \& l4 i0 l1 p# J' C, I- F l
this.getobjstyle=function(node,prop)
3 G, ^" ]9 Y ^+ L# V& D {+ C) `/ {7 ?" ^( c
try/ |- j1 A5 x3 s! k7 v9 r
{
, \, P2 @. V* n: ~ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
) ]4 A0 Q& E3 q/ N k3 ]( k }
3 m0 M# S( S: m/ t catch(e)
& @$ R4 }' ^/ l4 @* e' \, m {( l% [3 q; J: f
if(debug)
4 Z s' e: T3 y0 g# r' K& L {5 q. }3 K* P% _3 j
alert(e.message);
) ] {0 K" e* O2 R }
+ n2 U" ^& W2 I7 W! |0 P$ V : a# X: D; k1 N% o2 O% q# [
return "200";
* W! g4 N, u, f# ]& O+ R3 o# t }
( L7 o% r* j6 K, G }
6 L( C, P S0 r( H
6 B+ P% e6 R/ J* `; Q this.RemoveHide=function(page,objname)
- r6 t2 h. I/ ]: _* H+ ^ {( P% T! M: M5 Y% `6 a3 {& u4 S! t
try& ]+ }: h% n. N" S
{" n, S0 Z1 \9 l/ h
var minValue=15;. I6 L' I I1 j" y/ i# [: Z
var objs=page.getElementsByTagName(objname);
6 O6 W, ]) I0 J/ S+ @/ T
$ I1 @. ~" ~& l K7 T if(objs.length == 0) . g6 G+ s; G1 O/ @9 F
{( }' m v9 R1 J Y- G9 h. [4 z, c
if(debug)
0 A8 @' E" s+ [9 D- m {
" j$ _+ D% m, T: h" o" H, s1 u alert("no object found!:"+objname);' W7 g4 s6 M1 D2 g% a; p1 W
}
7 c% B e+ n( O& e2 e }+ p( |! p& H& m$ t* U6 @5 k C( y
else
( K% v3 W A; f+ _+ ? {) g- r* Q4 ~# O) l9 } X0 U4 S
0 Q! [+ m+ K* _* c$ G
for(var i=objs.length-1;i>=0;i--)
5 R+ A5 p1 U- z+ q {- }% M8 a. B5 x) k- |% j8 o) a4 b
var node=objs.item(i);
1 q/ y; r4 B3 j" r' D
% l8 E1 ]' _* `( C, O $ A6 A# o/ B8 @: I5 ~
if(this.getobjstyle(node,"display") == "none" ||
# y2 J' L$ ]) A! { this.getobjstyle(node,"visibility") =="hidden" ||
! _1 n+ g4 z8 w/ X3 U parseInt(this.getobjstyle(node,"font-size")) == 0)
5 e7 \+ }: k6 ` {
" B/ [2 q* E& o& E if(debug)
0 g7 v; T, U) \3 w+ i8 `1 ? {5 n2 H: c; ?* Y" `- C$ H, ]
alert("remove invisiable!");% E% \( n4 B/ C S# v7 Z
}+ k. u0 D& |5 t3 k0 C* a
node.parentNode.removeChild(node);
+ P4 M1 i0 G7 _) O0 A
. r) h- w! n0 t3 v }
6 i( u* n: V6 \. y. Q else ' c- ~$ ~6 x( \! J" X$ v
{
2 V0 c3 h# m5 p! c2 Z3 Y# D8 l if(node.parentNode)
; L7 E% d ^# p6 [8 T {, m) W# I9 X$ M1 ^% s6 S, a7 j
var orgNode=node;/ ?8 e; _: ~3 d, D9 @, K {
var orgColor=this.getobjstyle(orgNode,"color")
0 l* _+ x+ a: O2 a var orgRGB=getRGB(orgColor);
6 j% j7 `$ @! f! `- |
3 g& m3 |4 _' Z7 _6 ^7 k var parentNode=node.parentNode4 ^- {7 d3 e# c, p$ [; N% i
var parentBgColor=this.getobjstyle(parentNode,"background-color");" {9 s4 R. Z9 s' l v2 x
" Z; ~6 Q4 o, }, y
var isLast=false;
6 u+ |2 u( i: R& S' N) b
. }' S" f% P! t: |/ V# P5 u while(parentBgColor == "transparent") ! y Y" e- L, v/ T, p1 ?, M0 Z5 g
{
. A/ b3 R6 J' h6 L3 ^- U
8 u' r+ T. A! |# R- y- n K+ E$ W ]) Q1 l0 l
if(parentNode.parentNode == null)
3 t: m! H% G- e9 W; i {
( j# o9 p* t5 N4 ? isLast=true;
3 H# T9 Q/ B9 K) T9 T0 G& _' D9 y break;
( t2 \ n: o4 }- W. |# F* `" x. O1 k }
: N0 V( K6 f' y' T2 x parentNode=parentNode.parentNode;
@* y1 D v& | t2 [ O, T5 x4 ?/ q parentBgColor=this.getobjstyle(parentNode,"background-color");, P0 a* w: Z/ f
; H/ X7 d5 T2 o if(parentBgColor != "transparent")
3 Y) Y5 M) M" W, v( s. y6 A4 o& | {( u, E4 [( g& j7 ?0 k; l: \
break;
5 |! |9 Z9 D J4 s- V6 U) u7 O4 O7 j }
7 t' {' \5 C2 s }
" x# e* R4 A! _% P0 _ if(isLast)
9 {1 m6 W4 _4 p G7 c8 X3 O1 S {' G! o1 O7 E# |
if(debug)
/ \9 W) u: N# Q- L2 |. o" M {5 \3 D! j+ ^5 k" x+ K7 g
alert("last!!");
# y1 w3 e9 B. p2 x* S$ A/ z }
% A9 k+ E' h3 y( P if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))) y* I0 U& Q* w7 M$ n5 w
{, K& H8 x0 e* w7 k9 s" E) k
orgNode.parentNode.removeChild(orgNode);
% o: ]3 R9 ?, G, ?+ G( T% j }
2 W- z3 N, F2 D4 P0 F }0 ^8 A) B% [! @$ }3 L; l
else9 w$ T" D. D' B4 \4 ~
{: G9 ~9 d7 P& |
if(debug)" Y) M7 D/ B" G5 Y. Z. o
{
, O! a# ^7 z% Y( g" \2 O alert("compare color and parent bgcolor!");
. w9 [2 H* k2 } }
( E% p2 `6 B. r, I0 u% R( E parentBgRGB=getRGB(parentBgColor);. L; G- E6 \5 {$ g! C3 G
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
e) T/ k8 H! `" P& n5 m, B {
7 `% g, ^, Z; [+ N6 _' J5 g B7 I orgNode.parentNode.removeChild(orgNode);
, a1 {/ C/ ]# k }! @6 [. o" ~* d. p# j# [. L# H4 @
}
/ ]. Z6 F6 i$ N" m9 Z }) [2 `2 T2 }0 v: S
}* e4 N. s* y9 n0 ]. }; e6 `
}# t# m% B6 S4 r) N$ v
}+ m$ y+ n; v. \: X* g" r& r' e1 `
- g3 Q0 g! E1 k, g0 p
$ J8 B" \$ R' Q4 h- {! }; [
var itemFrames = page.getElementsByTagName("frame");; i. z, U0 Y3 h# A
var itemiFrames = page.getElementsByTagName("iframe");
- F! W& U" E8 v. G& a
& ~- a8 _- c# L+ M& k var frame, iframe;7 `) k- ~ o0 ?3 Y+ Z
if (itemFrames.length > 0)
' [# ? Y1 w( u: ^ ]' z' i ^ {. Q, u: s# g! c6 b
for (var i = 0 ; i< itemFrames.length ; i++) 6 j8 [2 P1 j8 K, N* h
{
! O. G0 r) d: V frame = itemFrames.contentDocument;$ a; o$ a2 _, f( w' s* `
this.RemoveHide(frame,objname); ( ^/ H5 t; {2 j, E7 K
}1 E( A4 U) F9 t% P
}. Z) a8 K$ h( I' k$ X
if (itemiFrames.length > 0)+ J1 v4 K7 q3 }" o
{6 j% ~5 O; u2 q9 k; o( C
for (var i = 0 ; i < itemiFrames.length ; i++)
0 m* g( ~) j, L/ X% C$ V {: a$ w; e$ J5 h( G+ m" H! y
iframe = itemiFrames.contentDocument;8 r. E- e* a# q5 `+ h- [$ k% N: R
this.RemoveHide(iframe,objname); % k) y( n2 w8 G+ Z
} [* A/ w; b/ C5 K4 p& ]; Z% O
}0 l6 I' k5 b: R _1 W
}
8 w" j$ z$ s Q! f catch(e)
7 u1 A0 B1 Y8 M; @$ E {2 I) n! |( J6 x5 C$ T: N
if(debug)
) v( c' D4 q( k) ~: g8 T {
- K9 t1 e5 i' K alert(e.message);
5 l0 ^/ B0 ^2 F0 P5 n3 M }. i V( c, P2 H2 a( @+ L* j- B9 a
}
3 W) Q+ D' r5 X+ E% I/ O2 |- ? }7 P6 w$ p# X5 l0 y4 C
; C4 c. [7 D3 Y}; T! e2 _" l4 X7 c7 _* r( i2 F
, r4 I' M+ g8 ~+ o
function getRGB(colorString)
0 z$ @# J% V+ `2 Q{/ @: `. J7 _3 d, u+ l5 O$ @
var RGB = new Array;
# j9 A% h& ~/ m. q var tempSting=colorString.substring(4,colorString.length-1);
# K- A- {: D0 \! _3 d" v/ ^. h0 _3 H var tempArray=tempSting.split(",");2 Z: `4 r! N6 b
$ z" s: F$ q6 H3 r( b% \ RGB[0]=parseInt(tempArray[0]);3 q- A3 Z- ?( \0 `( `! d4 j
RGB[1]=parseInt(tempArray[1]);
3 \& B0 j* z/ }) K RGB[2]=parseInt(tempArray[2]);+ S$ M7 ?4 \- b8 H+ w7 R
1 K. `% H2 U' j- k$ z, ]
return RGB;8 a- P F$ }9 @) z
}! {, }4 M: K) P6 ~' }* c$ W5 Q
function keys(evt) * Y% B5 B# b. I" s' o$ \
{
6 {8 O" g! T# z# {9 U2 ?' P6 X if(evt.ctrlKey && evt.keyCode=="81")
0 [+ s% R' O4 Q5 l$ k2 L, Y { $ u# D9 n0 r% K: b5 E0 q8 d
CleanHideObj.on(0,1);
* Z3 F2 i8 |9 f2 U# m alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
) M+ l+ i% n. w8 h/ U6 {! P4 Z ~
. ~2 [2 [- M4 R }
0 r- _! [( [2 T. v% h }
% O. N' s* a9 a' U/ h* S Wdocument.addEventListener('keydown', keys, false); & ^7 \ |* E' `* R' s1 y
GM_registerMenuCommand ('Clean Hide',
7 z( n% N* o7 v8 w, v4 T+ Ofunction(e){% \1 E3 w, z' h
CleanHideObj.on(0,1)# T! m% I& ?/ _
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
3 M, j/ i) i2 o});6 H3 y: s* a. |! n
|
评分
-
查看全部评分
|