|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 & x) {( ~; I5 S- ~+ Z, o4 _% f1 t
: s$ l$ P* ?+ V; B火狐插件,用猴子4 |# b" U! f5 u' f' A' L
1 t" H* E. L. t, Q* A; v- D* j+ J
var debug=false; 5 a$ C8 E+ S1 h1 i2 p1 B4 }; ?
var CleanHideObj=new CleanHideClass();, B! f" K: M8 q$ r
: b8 p0 t5 D. q* x/ P$ dfunction CleanHideClass() ; u, C Y9 W% G! u8 l6 h% I
{ $ J* h1 S, _# w/ i ~4 z2 w; w3 c
7 Y6 U3 O: S, p9 j* D* C, V this.on=function(id,bMZ)# l! L4 H. V2 I, z3 m
{
4 \8 X) Y9 B6 i4 x1 y 9 V8 ]4 h8 `% ?) u8 o
if(id == 0)7 ^( [/ F4 t: T, _7 ?
{1 R' G) T" B, \' w& R. k
var page=/* document.getElementById("content").contentDocument */document;
( t8 p F T, E! ^! D6 s0 T. @ this.RemoveHide(page,"span");# c) {8 y, Q( m0 b: V" v
this.RemoveHide(page,"font");- Y) O; { U3 M3 d
this.RemoveHide(page,"div");
- ]' J, X8 `5 \9 z0 o% J! h. D& S this.RemoveHide(page,"p");# _" t3 s! Y7 g F
0 N8 {$ `# p0 g. K3 H! }: n }* ?& L; F1 l+ A. x
8 S3 f' V* b d0 v
}
' n3 H6 _5 t7 L2 z8 z- ? this.getobjstyle=function(node,prop)
p* R1 z1 h% ?( ?! } {6 Z9 b8 j6 j# l4 U
try' p4 @& J- ^" P4 t. ?
{2 w2 S1 {4 a# X; y( h. X& b6 J
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);8 N: d3 o9 `" P) m# D Q, N; I' l
}4 y1 m3 ?! S( K8 ]8 M' F* m4 Q1 R0 o
catch(e)5 j3 r- N$ u1 \) k) e2 N
{' n% n6 X0 ?9 M# W: Y0 V
if(debug)" \% H& v2 _! [3 D! s/ m2 a; o6 V
{
: A1 r9 b1 t; y8 M, r' X: G3 Y% a P alert(e.message);: ~+ }& P, s" }4 L" D! ^/ ?
}: g/ w- L: H, w; ~
- q j2 x5 O3 D" ?; s return "200";
( ?! b* w+ e* G' Y3 ~ }
( c4 x2 s5 D# y: t W; m) u }
# [" W! _6 `4 X6 p, S0 {. b: ~ # m5 f1 ~/ B2 k8 f5 G Z% p9 i
this.RemoveHide=function(page,objname)$ w6 [# q2 I- }; S) q) x
{
' p' }1 {! U$ h& o7 U try2 }5 v* X- g+ E: L7 [# B9 |
{( `- U U |- H; o. D8 o9 n8 @
var minValue=15;
( P. @0 Y( n, _6 _ var objs=page.getElementsByTagName(objname);
0 k2 ]( [, a* ]4 e* M3 Z
0 D9 K! D' o6 w/ U$ X2 y if(objs.length == 0) ! D; z' d" G: n E8 a$ s& M: |( @: Y% m
{
1 K$ a1 H0 [' V9 [4 C if(debug)
- ~7 c$ y5 |) O, Z5 t5 R7 m% d {
. |$ Y6 j: }: i0 N/ l0 g, u3 z alert("no object found!:"+objname);4 ?% u7 ~' d, U
}7 W1 `- V: \1 i1 r. Z# d& U
}7 o$ `7 x4 w/ v+ h2 J/ Q! U2 y
else
/ R# ^* i' m4 U6 c& C {: G( Z0 [ s; I& L& i3 |) A
" A4 S' h8 i6 F) e6 f- \5 D- e
for(var i=objs.length-1;i>=0;i--) 0 Q& H7 j5 h. ~$ E, H- t
{7 v( l) h$ ^& X
var node=objs.item(i); 4 r: G6 L- N* `5 n& K
8 I6 @8 q) y( o& f8 q8 ^- L
& r4 O9 K- Y1 e, O J* d3 s if(this.getobjstyle(node,"display") == "none" ||6 s$ e7 A# e0 y! {* |9 i
this.getobjstyle(node,"visibility") =="hidden" ||, c. \; R3 Z5 w1 N+ V- Y
parseInt(this.getobjstyle(node,"font-size")) == 0)
' C8 n1 Q' T7 b& I {
8 t, I* d( E5 ~5 i' W/ T if(debug)# \; v# Z( A0 W# D' _# O2 R
{) ~" O' T0 |% E) t1 O4 t' f$ C
alert("remove invisiable!");9 `: L3 w3 Z. J% y
}
6 W6 b1 v3 y, O, \ node.parentNode.removeChild(node);& L2 B1 o. L4 |7 E4 ~/ g
$ ?4 p& L- m: e: V
}
% z3 ^, _) J/ h' s$ c( H. g else 1 f9 e/ |/ Z; }
{- ?$ \0 o- M* i
if(node.parentNode)
# m* @/ c' W! b. c( [ {! i3 L) e6 S' t! [1 }
var orgNode=node;" Z5 H5 J& t- ?: ?3 W9 P
var orgColor=this.getobjstyle(orgNode,"color")& c0 z, i+ U# H: H6 W% X
var orgRGB=getRGB(orgColor); 7 M+ [- `- s2 h9 A' q9 d3 u
9 x" [/ V: }: z var parentNode=node.parentNode+ g0 k/ J( B" s0 ^
var parentBgColor=this.getobjstyle(parentNode,"background-color");
3 V# s$ Z; K. `) C( W b, u7 f' Z" t
/ Y% z" e6 ]7 z! h" r var isLast=false;& x. Q8 m( h6 z) P& O5 ?; X
& v- [& c( M: t4 \: [% ?
while(parentBgColor == "transparent") * M' j0 b \" K" Z* G3 L5 U
{
. W; F& f) v$ n0 e# U% Y
% u/ V2 ^% l/ e- R, e & I% y' K$ Z) M* o( n- J2 a
if(parentNode.parentNode == null)
" I2 r1 V% V M* @ {
: N9 v3 k8 `5 B1 I7 h y$ u6 @2 w isLast=true;
+ C* ^/ Q6 z4 x4 j0 N2 N break;$ V' T5 R9 u- S# f: b5 N0 ~
}( P; P% s# p$ }2 G. |: g
parentNode=parentNode.parentNode;; X3 f( f7 I: _4 p8 T
parentBgColor=this.getobjstyle(parentNode,"background-color");/ @4 o) _) m. G+ C/ J
. v# V9 a' I# |0 s: L% [. R( U if(parentBgColor != "transparent")
( H5 v2 ^2 s i0 v" N; e { R9 c8 x- p* {/ J; t6 U5 ?, v I7 m
break;
) w1 W& W5 C- a# x% ~$ v+ }% Z }8 B; P9 u% Z7 Q6 X9 b. P, L
}
; ~ K9 W2 R) G* K7 E7 n if(isLast) 0 d' h2 P" D, x
{( K9 X" o0 [* o. x% p
if(debug)
( D( K+ x- P1 O2 K/ g9 B, \ {% H) f4 u, U1 d: _% ?' ]
alert("last!!");, S0 y0 w3 o. T9 d! o% [
}
+ Q+ d- p) d7 x2 S1 Z* E4 Y0 s if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
6 B1 n z& P+ |. n" K# G/ [ {, J$ l. ^' V2 m; @7 D& M+ \
orgNode.parentNode.removeChild(orgNode);
9 J- c+ o8 q0 `3 x" X% K T }$ o9 x% u" k+ e2 k
}
( e7 W4 t3 H5 m5 E3 z# t) j else
7 `8 p% U1 z- L: ~! D" m! W {
' D" G, H) A w3 f if(debug)
: Z& Q0 f- @2 I3 ^1 l {
) W/ ?7 T, ~! p9 o7 S4 ? alert("compare color and parent bgcolor!");, z' k6 V5 c- {* O e9 ?& I2 B7 t
}% [1 ^5 s" W5 v4 u" y: Y8 K
parentBgRGB=getRGB(parentBgColor);1 p8 a1 S5 g) F; C6 Z1 e
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
' Q5 q6 K$ P& s6 g3 w+ u3 K& m6 s {$ ~$ Z! t4 a8 N7 ^* c* b
orgNode.parentNode.removeChild(orgNode); . H/ r# b! \/ i! A' v5 f8 U
}
3 L9 _" j. ?/ a% X9 ^- v1 F5 R }) c& W$ I& D) M. z: D. g8 z
}" v4 B' |- S- |$ H
}6 r2 `/ f/ U3 ?6 l1 E5 P7 x
}1 k: C5 C0 w1 V9 m! d8 n
}' _; k4 \' a/ M H8 ?9 r) r
9 B7 C* x1 e/ f( z4 J
( w( _8 h+ ^- t( _9 t7 j; @ var itemFrames = page.getElementsByTagName("frame");" x0 e0 J; |' f8 h1 ~3 r0 r# G+ o
var itemiFrames = page.getElementsByTagName("iframe");
3 F7 c$ m6 r0 I4 E! }# v0 d
* v/ g( l8 y" t8 y0 K var frame, iframe;
7 ?4 ?4 F3 @4 V( j1 a3 W3 L if (itemFrames.length > 0)
: M" V8 i( k: B0 W {: C9 C5 |$ `6 m: t7 Z$ }
for (var i = 0 ; i< itemFrames.length ; i++) 4 H# m. T7 {% h# d1 ^. t0 E5 w1 |
{4 j2 j% Y- O" W) q4 j7 E. H: \
frame = itemFrames.contentDocument;/ v- n: y- U1 p6 o
this.RemoveHide(frame,objname);
- _" s" x- ]! {4 N/ e' }( j6 @( R% A' Q }
! x4 h5 p0 T( ]: S8 g4 y }
3 @* _' `1 c% `4 Y, \/ M if (itemiFrames.length > 0)+ T$ _3 J6 R- G+ H* Q) j, J
{5 Z% N( y' m+ q/ E8 Y" z8 z% X, d
for (var i = 0 ; i < itemiFrames.length ; i++) 7 H9 c+ W5 X( S- r; R* b0 u
{( J5 ?9 J, R/ L! t! H/ Y
iframe = itemiFrames.contentDocument;% ~, _" b1 F0 a# M
this.RemoveHide(iframe,objname); 2 k; t' g1 @( v2 h
}- T: O( S5 V1 t2 p
}
, B/ H' J( k& W2 A }
8 |- X/ Q' @0 m$ ? catch(e)/ R! `5 C5 ^$ f$ K# x
{
; y' J" a( z: o& w5 M if(debug)
3 {- W( }/ W+ Q+ Y+ ~9 V {7 M, f& Q! `- Q8 T7 m! O
alert(e.message);; I$ q4 E/ o3 Y% @6 }; G' X5 B
}
' I) t0 L; z. u) l$ @8 l8 r# J }
! f2 u2 S- O* v }3 s( w& A1 [# H
6 f. @# \+ D0 u+ F: v, g: i}1 D! q8 h# A, } P# B
% d# ]! Y% }7 r0 F: C, ]1 Wfunction getRGB(colorString)
! y8 [* ~* O3 B# n( r( |5 |8 K6 a( F{& D0 q& |! R M8 R' Q( }, X! I
var RGB = new Array;
0 o$ t/ t$ n9 b. Y x var tempSting=colorString.substring(4,colorString.length-1); U4 l8 h; }2 F7 H, |. i; H
var tempArray=tempSting.split(",");
w; B) w" }5 R" R0 S' Z- s) b( u5 y/ i: W/ b$ W
RGB[0]=parseInt(tempArray[0]);
2 Q- ~& ^. C L3 g! W RGB[1]=parseInt(tempArray[1]);" `# _# n. A% G# {
RGB[2]=parseInt(tempArray[2]);4 |! Q; _. I/ V" m
; k {$ E0 H2 @' p2 @) u0 ~
return RGB;
( V/ S& Q% b* W/ f! x6 {" p2 w}
" i3 t" @- x: X! H8 y4 lfunction keys(evt) s' q0 h/ q* I5 Z) {
{ * o+ m6 E$ D: o, L/ s
if(evt.ctrlKey && evt.keyCode=="81")
) C; G; M6 O4 U5 m8 K3 ?) Q# v; X {
3 U. P9 U6 }# ]2 B. J) j; I CleanHideObj.on(0,1);9 @# C/ r, g5 M$ Y1 Y5 a2 \
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 2 \ a, F7 g% G, y* p
: e; F% F$ T7 j } 3 l; A) w5 j- }: E! o: e5 A
}
0 Z6 ?# {( C$ z* \document.addEventListener('keydown', keys, false);
0 {5 T$ u$ p$ E3 v/ e# ~* ~9 ?GM_registerMenuCommand ('Clean Hide',
- w% q ]% M# C* d* y$ {" j( ifunction(e){
, e( H; ?" T& { u& n- G- G+ NCleanHideObj.on(0,1)2 B( N" X. u) k; {8 b
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
6 l$ L' j+ e4 y `! O; B' R5 D});
& d a/ c t) R; T+ p" j7 Z2 Z |
评分
-
查看全部评分
|