|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
9 B5 ]0 x4 [* s V2 G' t# K" a8 g% u* r% T7 H0 S0 _
火狐插件,用猴子' M* m; T7 n3 h% u* ^6 a5 \) S
, K8 }) K& o. J( kvar debug=false;
7 q: W! ~5 [1 v9 s6 w0 M9 wvar CleanHideObj=new CleanHideClass();
k1 D$ G( x/ P4 y& x% p
1 e3 X) N5 i4 y z+ Bfunction CleanHideClass() % S) m+ L/ N5 S8 g9 }
{
4 _8 y& V1 c. E4 E- c5 V 9 b# W4 s" h4 d. \5 Y0 s
this.on=function(id,bMZ)7 u" \8 F8 Z9 v% U3 v1 G, b% @. N( b( Y
{
7 {/ ~+ Y( X) L& z/ J
( `! E; f4 N9 w3 z if(id == 0)
, h3 q7 x) Y4 W9 a; M" g {2 ?" ]4 a7 m" A! ?& j( z
var page=/* document.getElementById("content").contentDocument */document; " O2 r* L6 L/ [* q$ F3 E' _
this.RemoveHide(page,"span");9 e0 t6 N9 g- @! B! Y
this.RemoveHide(page,"font");! v0 d$ Q- ^; q: S1 ^2 w7 l
this.RemoveHide(page,"div");
; J- a9 u* d7 }- y8 ~" g3 T this.RemoveHide(page,"p");6 L- b* N; M9 E4 j; Y# ~. W$ c
3 E z5 ^! N l& { }
5 V# c" ^/ W9 h( ?) w5 Y) I
# U9 V* R! T- ^ n" q }
: @! }+ B1 R( d0 ` this.getobjstyle=function(node,prop)
/ h; o* H6 j7 y0 ^ {1 T6 e6 J. ]) W2 _5 d
try( b8 k" Q; ^; |
{
' V: R$ _. W0 K: W& y return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);: ^- F& q4 I6 n! x
}
, O6 z* r& _9 C3 |+ D# i catch(e). c4 S+ |9 j( y! V8 ]# C2 P& ~4 ^
{
9 V3 ~4 B& y* q& x/ @; N: p if(debug)
4 E% M8 N" c% ~ {" {$ n6 w) R0 I7 E4 M) V
alert(e.message);
9 d# W3 F) ^, F( I- ~ C }
) Z4 X3 e5 h: I" K1 S, _ ) @ M1 U( s7 `( @
return "200";
' Y4 r3 r- O. o' A$ z- @: Y }7 g( x/ s& L2 n) {6 e5 k
}
0 a+ E" b. q1 Z b7 Z4 W% L
' K8 F% T' _5 i2 `# Q; Z9 b) ` this.RemoveHide=function(page,objname)
" Z8 U [) H- N: I9 P$ L- d7 j {; Z! q: i0 _. H+ S" x
try3 M0 Y* {7 n- C7 \0 H) }9 l; V3 M( Y8 G
{* z9 ]1 q: E/ J5 X
var minValue=15;
6 M3 [" b2 R6 O! s3 j9 h0 n7 ~ var objs=page.getElementsByTagName(objname); 6 Y5 C$ _! ~6 R. F; c
0 B( A: H3 G! k( _
if(objs.length == 0) , U- b$ E0 _/ J; {. c& P8 }" D
{" j9 X2 g8 T9 y
if(debug). o! L4 j" J- Q M. ]" @
{" z/ H0 Y L+ K+ b
alert("no object found!:"+objname);
2 K6 X" _- T0 J* u+ e }+ I+ M) ]! ?6 |9 n9 m4 f
}% {- w( H* ?1 O
else
3 a% ]2 A; v+ {$ \! [ {7 w" \4 y* u9 f F2 f; v* m D0 J
* N( N- W4 ?8 A' Q2 y- R0 I for(var i=objs.length-1;i>=0;i--)
6 C0 B' Z$ e6 L0 q, E {6 X) B; E$ W, Z% n1 }& e/ E
var node=objs.item(i); + a3 @: C6 T! v2 I j
' K# |- C" ^! {, u( ?9 D6 ^9 C* M
' r2 x6 s3 z8 ^0 T: A
if(this.getobjstyle(node,"display") == "none" ||7 d/ H' B" g, Y4 _
this.getobjstyle(node,"visibility") =="hidden" ||
3 q9 y7 d5 Y* k. n parseInt(this.getobjstyle(node,"font-size")) == 0) ; f% K5 Q/ ]% p4 X7 N3 b h- O0 W+ h
{
9 c( T* N9 a, z( k7 J' E6 B if(debug)
& ]" ?- F4 R; D7 {3 R+ e2 u# q {
3 _. C# z* O! I; b alert("remove invisiable!");
6 n4 K/ R: J- p8 q* y }6 P* p& u4 }: Z N& V! H* t4 Y9 v
node.parentNode.removeChild(node);: y/ `9 C0 Y+ b5 f3 B( j1 w* `
1 ~1 h4 |7 d; {! T) R } J5 s, V" J) c& w7 N- _ K
else
; b* r- E8 [4 h7 h, G9 t% Y {
2 R# }6 K; W6 F. B0 W. l if(node.parentNode)
# F6 M# f8 n/ ?3 T8 ~ {) ?) ]: ~% c, |3 _1 n1 p5 \8 v
var orgNode=node;: q# j5 `- x. n, T9 |$ J) S
var orgColor=this.getobjstyle(orgNode,"color")
9 y, y7 J, e* H5 J+ c) v+ O var orgRGB=getRGB(orgColor);
- e. W7 n% s& m/ k$ G9 I; k1 f- |! W 9 z) g) P/ u( L4 e- V) t- S
var parentNode=node.parentNode( s5 Z% m1 Q/ {$ @
var parentBgColor=this.getobjstyle(parentNode,"background-color"); o5 r1 s" S8 Y I; r3 o! \4 x3 t
8 {7 @. l% |( Y' z: m6 y var isLast=false;
1 _) X6 w2 `2 D' `, b( Q. s( R ' F m/ `0 d c) g7 a$ `3 ]6 @6 M( M
while(parentBgColor == "transparent") % F; u q. E) v. L" Y# U" t
{
& \- a* N' x* Y9 U 7 q* S9 L8 t2 U2 }5 O' j
* q0 _+ x8 x) E if(parentNode.parentNode == null)
2 {. `/ p5 [) J0 M; T {
) M6 z0 B8 d. k: o3 [0 N isLast=true;5 P2 m2 V; i$ b& G* d+ t
break;- l9 z5 }( y. z$ I" V
}( l& ]7 o0 A5 v+ U. Q' I
parentNode=parentNode.parentNode; J# B5 I* j7 Y) y9 o
parentBgColor=this.getobjstyle(parentNode,"background-color");0 t2 R2 i: Q% ^
, m; r6 m7 ^8 N2 D9 d
if(parentBgColor != "transparent") 8 L- g; k ?2 c
{$ V, t7 f- t7 T
break;3 Z/ {6 r+ r* G% T
}
( V w, T7 ~1 n4 _% \, r& t7 S7 k }! V) V1 R; O% h
if(isLast) ! Q X$ Z. g7 v6 E4 z
{! P' j9 u1 M) ~& X: Q
if(debug)
; m# g% O3 x+ h( W; |& l+ x+ [ {. q, l+ x1 M7 m7 j+ u2 U% ?
alert("last!!");, {3 |: w- a( b t( I f7 C
}' X. O; V& j# u$ @
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
5 B9 m( D& b' i* e {4 x N; U$ y+ X. }4 ]. t
orgNode.parentNode.removeChild(orgNode);
7 q7 T& ~8 \! Q' Z6 `0 A8 W+ | }
/ @$ s: k. ~& j4 ^& {, N1 i" A. x }8 I7 {, u3 r6 |( U! |6 s Q
else4 ~& p6 a6 U" j2 ?
{
! Y+ b9 y4 D9 c( S8 O" n if(debug)
$ b6 _% _* P5 z+ U {
6 v( g5 p5 r% v alert("compare color and parent bgcolor!");
" |1 e6 k8 q3 L3 s }( S8 c% X% f- n* i/ Z5 W. \
parentBgRGB=getRGB(parentBgColor);
S& W- }+ m( D& n* ?: g6 o0 o if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)); A( n( `+ _3 h1 g9 p
{
; z$ w6 i0 E' j' ^; {+ u( o+ v orgNode.parentNode.removeChild(orgNode); ' E2 v& K5 j- u3 ~, y7 D
}
/ c. u( l& l& r& i+ x6 ?/ `+ D }. v3 V& O" Z B% x
}+ Q% ^( O/ X2 s9 p/ x( P
}
- G; p' f6 }- e9 B1 p# q }
* J7 v, J+ I7 }) I, x! s }4 [: {3 e5 g* d
, t5 _3 [5 }& n/ s6 S& J [. E
& D& z, }& I6 p9 C7 e1 ^2 f var itemFrames = page.getElementsByTagName("frame");8 u/ A$ P2 a' G' P3 Z4 M
var itemiFrames = page.getElementsByTagName("iframe");. h, k% }, h0 j/ F: j6 s! ]
$ @* z3 T& J8 W3 S$ ~ var frame, iframe;
" \' p4 h4 T5 p5 _ if (itemFrames.length > 0)- y( X, w/ M: i; S6 {+ m" x# Y
{
3 r5 l+ h' X+ T for (var i = 0 ; i< itemFrames.length ; i++) [2 b! C8 W7 A/ o
{0 Z( B/ U+ o: B% C. ]' s x0 B# t
frame = itemFrames.contentDocument;
& B0 k, s; T( n& U3 L: H4 z1 r this.RemoveHide(frame,objname);
" J( r- l9 G" q1 @ }
0 x6 E F/ V2 Z5 L: X+ d6 t. V }1 T8 u* W3 n3 ^1 a: O- ^
if (itemiFrames.length > 0)% ^$ o3 B/ _! ^2 j! Q' y0 H' _
{
: f& ^' d; I0 m; A$ p, }, ^ for (var i = 0 ; i < itemiFrames.length ; i++) 2 b" b# ?- r! t" a) p# w
{
- X ]( o, ~2 I* i/ b iframe = itemiFrames.contentDocument;( e2 C; G3 G% c6 g
this.RemoveHide(iframe,objname);
0 x. `4 o I$ l5 A; j }
' G3 F, n+ j# L% S' ]" I }& h+ [, G* N9 [% e1 B0 Q
}* M8 |5 \! A; g7 B; B' ~
catch(e)- g( m0 x1 P! `$ d; z% e
{
+ z+ J* _9 j/ m7 V( |0 W% T if(debug)
$ P* A1 r/ ]; N! \ {
5 p0 I( V) {7 v" M alert(e.message);* k% r( f9 k3 S6 I' n# f# q4 r
}
- h; Y; i4 B& ]* ?/ u* o: U; G }
0 M/ F' Z7 M' D2 n; i }* j0 \( c, l$ Q4 V! f7 [
6 c7 N% l `' i}% ?6 e# q3 S* W3 g( O; m
M& t+ A, a7 l$ F: zfunction getRGB(colorString)- e- [2 \) P( V( q
{6 f5 r, B8 ` i9 e+ e
var RGB = new Array;
# L3 ] Y% P' \. P var tempSting=colorString.substring(4,colorString.length-1);
6 b# q9 v( n% ?$ S5 n0 ^ var tempArray=tempSting.split(",");0 ~& ?! m: {. ~0 w W/ f
) z1 q/ g7 U& L/ z, K* \
RGB[0]=parseInt(tempArray[0]);& M9 b x, ~/ r. _% P9 K% g
RGB[1]=parseInt(tempArray[1]);1 r: h1 h# V+ ]1 \
RGB[2]=parseInt(tempArray[2]);' h$ h2 w5 o, G6 X( q
% ?" L: m1 l; l8 e9 Z3 r return RGB;
" g7 }! }: B! ?/ \}' m) k8 o- G, i7 _, a' k
function keys(evt)
8 y) F6 R( l$ b$ q% c7 Y {
9 b7 D2 S8 ~( f I9 ~3 Z/ v if(evt.ctrlKey && evt.keyCode=="81")
! \; \' s- a' O) B# C { % [8 _5 b6 Z: k$ o
CleanHideObj.on(0,1);
. H: R5 P. U& w alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
8 V9 `9 V' N3 `5 z ' l, h" ~, U& M4 c
} - ? r' Z6 K. P' _: N ]
}
3 |; }; I, [ u) v" q# ?3 V" ]" @document.addEventListener('keydown', keys, false);
2 h6 h! s9 @0 Z2 u* s1 u( f; J jGM_registerMenuCommand ('Clean Hide',& o, ]) W% p+ l, W: I
function(e){- ~' h' H' u8 H# {9 [; ~$ [
CleanHideObj.on(0,1)% g$ P5 d4 D2 w. W+ ?
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
2 h* `, k! ?3 o0 ^});
4 ^" z0 X7 _ o! K |
评分
-
查看全部评分
|