|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 : r4 u! v( g- n8 q' _- W
8 s0 _$ {# v9 K' B& T
火狐插件,用猴子
0 U6 m( F& K, X# y j# r$ V* t! o! l' u4 s3 l; |2 r" u9 e
var debug=false;
) _' N- X$ w! L/ i2 _var CleanHideObj=new CleanHideClass();) p8 L4 a- W7 ?1 w. v( J; I
$ R; _ k/ ]+ r* R
function CleanHideClass() + K$ c& ^9 u/ T, t7 m: @5 Q* Z; i
{
2 k0 w5 k$ E* n i% F9 [" t- f4 p6 p1 L 0 D( Q/ Q5 R2 W- e( h7 f l
this.on=function(id,bMZ)
1 N1 g4 b1 z5 x& T1 {: M {
. Y1 L4 W/ d0 S2 F2 ~1 ~
( Q, S% l* U- w, A9 I0 ` if(id == 0)% ~+ ~: w8 \) v; Y1 x- y
{& T3 n& m, k* F# Q
var page=/* document.getElementById("content").contentDocument */document; : ?( b- ? S$ Q+ M
this.RemoveHide(page,"span");! Q7 V k" p. ]6 g# b; A) V
this.RemoveHide(page,"font");8 [. p; ?+ G! k w% R0 q. Y
this.RemoveHide(page,"div");
; x* k1 L* {" C0 `3 A( r& ^ this.RemoveHide(page,"p");( x7 c! Z( X$ Y- b" E
# U! s9 h3 W9 T+ w. Z }$ O' E/ ^) C9 r( E# u( ?
% f J* c" z0 M- u/ K }
8 o* N, K* r. ?) `3 K% v this.getobjstyle=function(node,prop)
! R' l$ x$ S# D7 I0 v n! P {0 u$ {; Q" w, ~ |3 C% _
try
) N4 T1 l; [* q4 k+ z' N {, I3 U7 I% [& C7 o
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);/ H& K. `* Q. s" e" B5 L& H
}
7 g) N: Z$ l* v2 {2 R. O0 `3 t catch(e)( v" o8 X* u& r% Q! o
{& f9 D: q0 l9 J3 W7 h y: w% }# h
if(debug)
7 J5 f/ k6 d+ S! \$ L6 K | {3 w7 k& S; p+ F3 P+ \$ v5 j+ D* Q
alert(e.message); R/ @! ~! u! r5 H
}! L! L0 `8 ]" I
& J4 x6 C. {4 { return "200"; @9 A9 s n/ v5 Z2 e
}
0 `# s$ v1 Y! C- U+ z }* [' ^* B4 t& Y! V2 ], K( c g! k
, S; J" A5 K& I, a9 l
this.RemoveHide=function(page,objname)1 I: I" y; T( X& m, ^
{2 @0 V4 s% Y; a
try) f- ~- p' x6 v" K: Z, u( X6 m- \1 ]
{7 {3 _. V; Y& G3 l" b. \$ ]$ D- V
var minValue=15;* E5 C' \# ]. A; J/ i* `, @( ]) l
var objs=page.getElementsByTagName(objname); 9 u( e2 Q5 Y- O. d$ C) u, @* |4 ~
" S1 t+ B. a5 M- f8 P. ]
if(objs.length == 0)
! z( z3 }! [) @. L5 i! f {% ?$ i& m" y8 o' ]( a- L
if(debug)
9 k. U, l9 n9 ]1 W" A {3 a8 _! d! N: n# c; N8 H i
alert("no object found!:"+objname);6 K+ K( o# y* G: l; Q
}& i( ]) s$ ^9 F0 L
}+ C. b2 o; W ~9 ?
else
& h O3 G3 O6 \ Q- g" G3 I {2 m# j2 b2 x& a1 T; s
8 o, D" Q' L, S' J
for(var i=objs.length-1;i>=0;i--)
! Z7 B$ h2 f) o2 b1 ` { w% J& r$ h! u e+ j9 S; b
var node=objs.item(i);
( [ `9 l1 Q4 p. B% [ " A: k. R Z+ F6 \% k I& c$ u8 g
0 x# {4 @; ^: T0 N2 O
if(this.getobjstyle(node,"display") == "none" ||
" c3 W; |0 J- ~) v this.getobjstyle(node,"visibility") =="hidden" ||
2 L a5 k6 P$ F1 ^4 p parseInt(this.getobjstyle(node,"font-size")) == 0)
* ?1 ?8 h, x, b( _: H8 K {
! i% \% z1 G3 y$ \$ _ b0 A if(debug)& F% X" v) n& k9 Q4 r, }
{
+ M. W. Z" ^2 r) r3 h alert("remove invisiable!");
! N8 Q, b# F6 I1 q/ ^4 L+ ` }- ~" G4 [2 B( y9 Q: w2 C0 V
node.parentNode.removeChild(node);& ?3 i. S" e( `7 h+ Z
" M9 B1 F, r0 j
}
: I: `# e9 f9 M( k8 O/ s else 9 s" O) [+ }5 v- w, E* T
{
! m' ~0 {% j; J( c6 p if(node.parentNode)
; Y# l- t; i/ F! w$ f- e) k {
7 B: q- P% ^5 h1 m- i var orgNode=node;9 T% @ |2 Y+ s, U" S
var orgColor=this.getobjstyle(orgNode,"color")# }% V1 F0 V* M, I2 ?
var orgRGB=getRGB(orgColor); ( J; ]. q- l) @+ H
% n+ e6 I. y1 J. m ?; P
var parentNode=node.parentNode
R" b! p* s2 d2 w var parentBgColor=this.getobjstyle(parentNode,"background-color");
1 C8 B9 Y8 U6 e 2 b$ O) Y5 Y) m2 K. i1 M- T+ t' k
var isLast=false;& g6 K5 e! |! w+ o; ]6 K5 p5 U
9 u5 w1 l# a6 ^( ~" p! `7 n
while(parentBgColor == "transparent") / ?; z: w' p" N: j1 C& l
{* f9 | t% w! U& s; `+ G9 P
8 @( d5 o4 ~0 c
2 A* u$ p: Q( L( _) Z ? if(parentNode.parentNode == null)
- I7 E/ z6 U- H9 D4 L2 M {8 b6 b5 W0 {- L+ O9 C
isLast=true;
8 |# {* D( i/ h, X' m3 |) E break;4 g" O/ I+ f% `9 o1 {, @
}
3 K/ [) F& Y( }2 |+ Q5 C parentNode=parentNode.parentNode;& o. Z% n' t- b- \) g
parentBgColor=this.getobjstyle(parentNode,"background-color");
" U& h6 x4 B: r+ S0 @- O9 c! @) ]" R9 A8 z1 w7 Y' J
if(parentBgColor != "transparent") 7 A9 J- d6 _8 q1 m) L
{" H ?3 U( i' S) r
break;
, G; M0 b7 N2 U7 o }5 ]" {" Z5 l. Y" ]+ j
}
/ s( P0 A% I/ `: m9 p1 |1 P! z# L% N if(isLast) 9 Q' R" J( Y8 r: \' d4 Z8 m
{
2 N0 R0 p6 f+ T if(debug)3 L1 F3 t6 o9 X8 I+ c0 D3 m+ S% [
{; H6 l9 b/ h" o! O- B
alert("last!!");
. N" x. T4 q) T. u# H }' T- A( O& p1 m
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))" C. m5 P7 b( j F* g2 L! E' g
{$ k0 }0 w0 Y) h9 W5 U
orgNode.parentNode.removeChild(orgNode); - y" f+ U8 E% O3 x9 s, D E
}
( O& i. q ?. K; X4 X. A }
, Z; v% a" e. B3 k6 d# l2 J; P9 y else
$ G1 h1 p3 l H5 J( }) _ {, `) O4 l3 c3 f/ G
if(debug)
! t' ^6 C$ h+ l$ ]- L1 \; O {6 A; Y# [+ p% f9 V1 r9 o, S
alert("compare color and parent bgcolor!");
! ?& X/ ?8 A/ I, C% s7 v }( U# b/ ?& D# Z
parentBgRGB=getRGB(parentBgColor);
* R1 h2 Q2 |2 Z* a' a9 P& L if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))0 @4 U9 y7 F1 Q* E
{8 a6 \8 T9 C* W; K& O3 f
orgNode.parentNode.removeChild(orgNode); , @5 v7 i% u. _9 i
}2 G7 b) `4 I/ F% d z
}
0 j( \& B* g+ |% B2 K }& A' x' S. d6 R8 H( P C4 w
}
4 o0 n9 h- ~! k6 Y* R0 r8 W }5 F$ x; ]5 t! {, g% q* z2 S' q- N+ j
}
2 Z; Q8 z1 z- W ( P0 t. V; W; a5 H( G( T( y
0 V0 Y# g4 P" R# ]% m: y
var itemFrames = page.getElementsByTagName("frame");
+ J. W8 b E* R0 `( T5 T' T, H, t var itemiFrames = page.getElementsByTagName("iframe");
9 P) f' P* K0 {
- b! h4 G7 {/ R( A var frame, iframe;
4 _! q$ s2 `: L4 |+ w4 o4 a if (itemFrames.length > 0). c/ ` V! j" Z' R2 t
{: Z. \: x- U4 I" [. m% J& M. f1 w# J) E' z% P
for (var i = 0 ; i< itemFrames.length ; i++)
7 j% h5 E8 ~) g, d4 x! X {
' m' k N0 i, H, W; b% K frame = itemFrames.contentDocument;4 P" o3 `8 v1 p7 r2 E! r! R
this.RemoveHide(frame,objname); # }) e7 X/ J0 b6 M: ]0 q
}" a8 ?2 x0 u# j; G8 V( x! r! q
}# _" S0 T0 U6 c8 q: Y% j) S+ W: e
if (itemiFrames.length > 0)
+ y5 _( E# ?" d7 |" X8 w {3 j# b+ n0 p1 c r8 W
for (var i = 0 ; i < itemiFrames.length ; i++)
" w4 ~! r! ]* Y' U {, I0 {4 g$ T3 r+ |3 B7 F! d
iframe = itemiFrames.contentDocument;4 n6 Y: p1 v! j
this.RemoveHide(iframe,objname);
( ~( \3 ^4 a2 s& D0 U }) U; D+ {4 O" l3 }# P2 V
}
2 f4 j/ T) D; E4 ] }1 X1 p4 S4 l1 P7 I* K8 n! b
catch(e)
/ ~+ j9 t ?& _" Z: S. o8 \, } {
8 A0 k' b' ]9 V if(debug): Y4 ?, N% h6 } Y* O- x
{1 X" K7 w7 D, |( j$ y5 V
alert(e.message); L% s [; E+ P! V2 V6 q* G0 h- s' e
}
' g/ p: q7 [" y2 A }8 M7 F N( G9 C" G
}7 M2 a: A3 `% `1 u& c; t/ E
! M0 a$ Q) H& K1 Q* @* I; r3 A}8 z+ X G6 R& S6 e5 A# }
; N) w1 M- x1 b1 P: P: N
function getRGB(colorString)4 k" B$ j7 O! d& D3 W1 f
{
" D9 _) a, ?6 f5 e" m' L var RGB = new Array;4 |' s5 T0 Q/ [: U
var tempSting=colorString.substring(4,colorString.length-1);( C; r1 H+ [; x0 m7 E }* U* t
var tempArray=tempSting.split(",");. P, f; E3 w6 A% F% Z
0 M% O+ r( _/ h. V5 S
RGB[0]=parseInt(tempArray[0]);; v. x1 I9 U. V- A
RGB[1]=parseInt(tempArray[1]);
: m8 U- X2 B7 T1 E" a* D2 p; Y) q RGB[2]=parseInt(tempArray[2]);
# W- X. |, q9 a* e. J9 _1 ~: c & x* K# v# C4 a3 [, J9 t8 \
return RGB;
1 C8 v, l6 @6 b3 O}+ C3 T1 \& S) N
function keys(evt) 2 x" x) N, Z D9 y/ O& z
{ ' ]) Q+ n0 u l9 \
if(evt.ctrlKey && evt.keyCode=="81") ; b) \" ]4 \0 n9 }' ?% r
{ % V: z" e9 U* A( \' T* X
CleanHideObj.on(0,1);
R. d0 ~. E. t9 b" K alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
( E0 j- ~/ u: @# z) W; E 2 i% S5 ]4 u9 x5 P) l
}
8 ? |9 O s- u1 m, r } 5 L6 X2 c5 K) y3 r, ^
document.addEventListener('keydown', keys, false);
- ^6 X6 r: d9 z8 B& rGM_registerMenuCommand ('Clean Hide',
; q+ m' j+ |( [9 t" {; u7 Dfunction(e){
j1 ^; [* U5 }) KCleanHideObj.on(0,1). \6 G' \* h# s, q
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");8 ?. o! M, U& j+ ~
});
/ ]* m* T R' X7 C/ t |
评分
-
查看全部评分
|