|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
* I4 b) E& S/ S, R) u! r. T7 o1 G9 }6 o) u
火狐插件,用猴子# G) J0 T! e, X# X3 e
8 I# O d2 z; n6 \. X! h0 N* hvar debug=false;
& u) K5 w' ?9 u) e) p1 l& zvar CleanHideObj=new CleanHideClass();' q& [$ {0 p T$ O6 G0 y: c
" R& f2 |0 t" j4 M; h. Kfunction CleanHideClass()
. N( V. M' O* `- z{
+ k2 F& ^' @- |2 G4 L! `
9 {: e0 v* F$ A% z this.on=function(id,bMZ)
# @4 j' K4 j# x0 _$ Q+ t, o {8 N a( S* o# {( B. y
0 K+ O6 G/ V/ o0 l
if(id == 0) c i0 ]8 _; ]3 p
{
% X2 f- J5 h* |' x8 m+ b: \ var page=/* document.getElementById("content").contentDocument */document;
- Z5 O2 L5 V7 o R this.RemoveHide(page,"span");1 S6 ^6 M: u* g9 I8 C2 s
this.RemoveHide(page,"font");
6 W. M' F/ e9 | this.RemoveHide(page,"div");
" J N1 m$ C4 ]/ z this.RemoveHide(page,"p");
5 W7 H: m! c& ]( E9 U
8 n# ]. _5 r6 ]. D3 f6 [ l9 r, D+ d5 C }4 b) \" Z6 V+ p. z! H) f7 ?8 l8 k2 v
, ] {# A! Y- T0 \& S. ^, l
}" t0 f5 n- e: D' O# i9 r
this.getobjstyle=function(node,prop); X- W+ f# T; Y
{0 T" R0 [- k: p# c) r2 t
try
( f' p, W8 t* k, w5 P( o {0 t. f- t+ z( d% b3 }
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
, c% V1 Z, i! l ^1 L B }: x) z8 }0 q* k$ A
catch(e)
; |8 \/ T+ W/ d! m! `# Z8 h: i {
6 X& ]* L, V1 q4 ^( E% X if(debug)' i3 N% W1 x" ]: ?* I( h) L% k& H
{
" ], t+ R) |4 P C alert(e.message);. f) D( n5 ?) A! a1 H& ?' Q1 v
}* M- r. d2 u* d8 g
9 g; j! f9 r# `! L6 j6 p return "200";: w5 |" ^+ m7 q; `" B# t# m3 A1 y% A
}0 N. n3 c( ]: Z& t
}& f% E3 P7 J6 E& ?: _1 ?' N
5 Z& i. Z4 G: Z$ V! w; M# {* L
this.RemoveHide=function(page,objname) |. ?+ H" P$ |) B# r1 }) [) U
{
, |( @9 u; V& } try( O: R2 Y5 l: D1 Q8 P% I
{
' ]$ s8 J; ^( z4 @" i var minValue=15;% u6 U7 `/ x; @+ t
var objs=page.getElementsByTagName(objname); + k; \2 V" H7 H R9 A) T: Z
( [9 R+ i# u6 ^5 }+ U R/ S5 d$ ]4 R
if(objs.length == 0)
4 F# g- E9 U* r6 M3 @ P {
% V# o0 e- p7 x! q if(debug)
& t4 D. ]/ O/ j$ b+ s4 C {4 K+ F; u+ i6 P. s- E7 U0 c+ V
alert("no object found!:"+objname);6 U/ C* V% c0 {- c9 F" T
}% q8 {- G- ?6 A, b' f
}+ k( r& } m5 u$ A( Z) l
else" e+ e% E' u2 b$ f
{
) X I% Z% u* F' y- u ( Z: Z8 i/ {. v7 K0 L
for(var i=objs.length-1;i>=0;i--)
- l- z5 ?7 Q. M( }3 } {
# j2 K# @6 ^$ }$ {1 } var node=objs.item(i);
: t5 s8 ~3 i3 v2 d$ R) J 7 e1 H, }* o# k" S1 t
$ P2 \- y+ E. I0 j
if(this.getobjstyle(node,"display") == "none" ||
! F- a& b2 S0 H* V6 d this.getobjstyle(node,"visibility") =="hidden" ||" a6 `, X. H* G- M/ w$ i. y0 }5 q
parseInt(this.getobjstyle(node,"font-size")) == 0) , s6 ?+ K a p x m3 x9 s0 n8 m
{
" y, M- L" L9 c3 j" A7 y9 d4 G: b if(debug)) w4 m2 b/ r% y: H
{
4 h3 n) V9 p1 A! P. L/ g alert("remove invisiable!");
$ v# k% e; Y S+ B* } }
- ?3 `8 R: j6 p' a node.parentNode.removeChild(node); H3 O; E* B, ^+ C; c. E; K
. ~% c' s0 t% A6 \ }& D' Z- K; g! c, M6 ]* E
else
9 I. S% ~: S& n& x8 I {: |. R6 N, I9 M: n
if(node.parentNode) & C4 t2 s" |$ q# ?2 l
{
; J+ Z5 @: H5 T. z var orgNode=node;( ~7 g0 s! l1 Q8 h5 Z
var orgColor=this.getobjstyle(orgNode,"color")
. u7 P& z! u5 a( L var orgRGB=getRGB(orgColor); 5 V7 _1 n! G: \6 i! N1 p
/ F# C3 i& Q- u; f, A var parentNode=node.parentNode( z- B' A2 l& x1 H; Q. [) ~0 A9 D
var parentBgColor=this.getobjstyle(parentNode,"background-color");1 P {, g$ M. \# B |2 o1 r
& L5 [, L6 K2 u4 ]+ r; ^9 i
var isLast=false;
# {* m, _9 {2 h1 u
6 }' x3 e, b' P& e1 j* P4 Z while(parentBgColor == "transparent") 1 ?! s3 t; p4 f( n$ [: d" h
{
6 w) O9 _" b- }3 u7 } 6 x2 Q7 N2 u9 X4 H
- }6 Q5 w+ U, n- r: u r+ w+ K6 n if(parentNode.parentNode == null); l6 _2 F5 e8 S( p; h/ R' S
{
# F% w. ?6 z( n1 `9 y6 h isLast=true;
6 ?+ G# F& ~* R2 l* E; p break;/ X' g" u! J# K2 J% O5 q
}
- n) i4 g, A5 d, d% ^5 R! w parentNode=parentNode.parentNode;
1 C( r5 O9 e! j2 Z3 P, m parentBgColor=this.getobjstyle(parentNode,"background-color");2 N7 @4 U2 v" K4 }% O) V
0 X z' U( P6 }* \
if(parentBgColor != "transparent") ! v d( J/ s& M, M
{
$ @( E+ M9 ~) Q6 ^ break;
/ D# w8 j9 O h; S9 M }/ Z) y+ g4 q; g* N6 r
}. e% B1 U, Q# U! E9 g( f! q
if(isLast) ; d4 x$ i7 i. ~4 L
{/ Q/ A4 `3 X; t# q
if(debug)& N+ {4 F5 w2 |. x4 }. Z
{
6 V4 `: ]+ L' P alert("last!!");
, `$ P2 O2 `+ h( D }
3 V) p0 c2 G# ?: h2 {3 v if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))/ ^4 v. O6 r( L6 S1 T! k( j
{7 x* o9 }# A1 D2 F6 @% ^3 O
orgNode.parentNode.removeChild(orgNode); $ `7 ~7 Q. Y# a6 C3 L; m% E
}
1 M# W: o- _( B+ ?4 }6 Z }
' K% t; L' \4 h else" F$ ]. J5 h3 h) k
{% L8 ]8 t% X/ @6 t% H- T% y6 i
if(debug)
& B2 t/ T" V E! v) e e! X+ H1 e {
- R8 C- g# ~' @- d alert("compare color and parent bgcolor!");
5 ^9 S: R' [, ^2 T }
7 R8 p. B( B+ b3 s parentBgRGB=getRGB(parentBgColor);
) B2 F, [! F, w; Y# y if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))$ Z) E4 p/ G5 c z8 t! t7 X
{
) C* X9 g# N' ` n4 F) M' V+ m: Z0 u orgNode.parentNode.removeChild(orgNode); # z. G* y5 O- h
}
, H/ w% X3 [# K# @$ d; p5 S% P }" s) g; D/ m- A( B
}/ S8 M9 V% _, p1 `
}
- s! e# a! Q" d6 d; Z+ b4 D }
* p. {$ D+ c2 | }
" @9 K. |8 k, q8 V
! @4 o( a9 [* c/ | ; x: ^/ p* Y$ b* o- A& K1 T
var itemFrames = page.getElementsByTagName("frame");
, U" [7 K/ E" j6 h var itemiFrames = page.getElementsByTagName("iframe");7 \% w& q0 L6 C5 p( Z
7 J! S. E. }* g6 |- V
var frame, iframe;
* @0 O7 S- c9 r! C if (itemFrames.length > 0)2 u4 P" H G( X4 G( C$ g1 S
{
" p& m ]2 U: k3 M* f @ for (var i = 0 ; i< itemFrames.length ; i++) 7 [4 K3 p; T. E6 G1 p9 b
{* J* b5 B/ Y+ D& V
frame = itemFrames.contentDocument;! a/ w/ H7 ~+ u9 O: O; j2 _) A
this.RemoveHide(frame,objname);
( P/ W( d4 r! z; r! V) S C }/ r& E8 |# C5 J4 U" L9 R" u
}5 {3 n" p6 e% J% l* g4 q% G4 N/ @
if (itemiFrames.length > 0)
9 d) l0 A2 ~- R {6 h8 d# ^9 g. L0 |1 _6 V3 [# v
for (var i = 0 ; i < itemiFrames.length ; i++) * e3 K R2 y: ?- M
{
. m D; @2 N, l iframe = itemiFrames.contentDocument;$ R4 S8 R3 x8 e# B' \- B: e
this.RemoveHide(iframe,objname);
7 ]; M- K% `# ` }
3 `+ D! x& D- n p$ f( g }
$ L6 J0 j& K6 Q" s- {8 a }; C6 G$ B( m/ A& t$ W! ?0 i! z0 O. w
catch(e)
1 E, S* |' \* ^( D( t8 W {
1 M" w7 S1 Q3 q* `2 x+ ~ if(debug)
& o4 {. z1 J5 h& R: | {
" \6 `8 P" Y( D alert(e.message);+ I' m f1 ?( p+ _$ D& d/ G6 @
}
+ V- N. G- j7 {; I+ l5 w" ] }9 N& w* [1 n# j, j
}( g9 \% a- I, x2 u* Z
9 l# H# }) X: T% t4 m8 w- @
}
" s- z. p9 X2 z K! S0 r% L! `8 m# f
9 s9 J2 h9 g6 A9 yfunction getRGB(colorString)
; C! s1 _$ Y/ ^" s3 k' \{
+ e0 ]: b! |. Z9 x) ?! L w: J var RGB = new Array;
' c* } z8 t! n; X( h8 h+ y var tempSting=colorString.substring(4,colorString.length-1);2 |+ \ |! J% j# n% F
var tempArray=tempSting.split(",");
. \. {% ^+ e0 x9 h' S* T
1 G& S4 `) x$ `. B RGB[0]=parseInt(tempArray[0]);! y& y. k8 y3 c
RGB[1]=parseInt(tempArray[1]);
- x# ^, X4 I& @' P RGB[2]=parseInt(tempArray[2]);
5 S2 G) P6 r# A: ]- p 0 f3 C3 o9 X) Z' N5 i
return RGB;
4 {7 N5 V9 p: q1 k- p6 a* b0 l+ P$ Q% U}. A$ y6 l I; @; {, W! r: P
function keys(evt)
0 [3 k: U; T* F2 g; e2 i {
. x6 {: u' N( T+ w if(evt.ctrlKey && evt.keyCode=="81") - k, [ e) ~- x3 Z5 y
{ - g+ p" i% f0 d& g* w; y
CleanHideObj.on(0,1);2 q) B3 c1 h/ `6 i
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); % V; U' r- w7 _: P
+ V. a4 } A) ^6 s- F. m# t } ! g% \ l" {+ H* g7 V
}
6 n, @% h; G( {5 M' p h* e; Pdocument.addEventListener('keydown', keys, false);
! p& J; x9 D3 S4 d aGM_registerMenuCommand ('Clean Hide',: a4 q! H/ ^+ D( m" N
function(e){0 \9 J' ?& k% w7 A0 U* |0 s" b$ [! J
CleanHideObj.on(0,1)) M/ Y2 U/ N7 F1 y
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
$ q( L) f5 `: W});
5 @$ b$ O% a6 f! c, k |
评分
-
查看全部评分
|