|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
3 n/ B; O0 d' |" g K, o# ^8 F+ b$ {/ E
火狐插件,用猴子7 Q, `: W1 w" H. j- |
# p2 h( ]( P3 l* }
var debug=false;
/ {3 i7 ^" P: I; v1 O+ }var CleanHideObj=new CleanHideClass();
# Z% q7 |3 Z1 h! d0 i* j! b/ g" _0 h. j1 }
function CleanHideClass() " G% H, ]6 F; |
{
: j+ h" x3 g/ x) |4 f2 Z. A0 B 2 S) _9 ?6 ~. g* X. f
this.on=function(id,bMZ)- D- v8 _* k& W( U1 J) C* n
{1 w8 r4 |& T& U+ S+ `: q
. {8 s) W; R3 `. ?6 j- O if(id == 0)
$ h) @) q& \) S5 B {6 e/ h( e3 S5 w& ^- d
var page=/* document.getElementById("content").contentDocument */document; # j, q+ g8 n/ d. Y% A
this.RemoveHide(page,"span");; j& D& q: Z" o6 z% ~) l" W. ~3 f
this.RemoveHide(page,"font");
1 \! X5 \4 }: u1 t% w this.RemoveHide(page,"div");
$ |5 n Q. t; Q2 [, d) y" V3 |5 ` this.RemoveHide(page,"p");
2 w+ Y! I+ G J0 K5 F* R# C/ G 9 u" N# z7 r1 ]% e& q
}( h) t; x# I4 j& H
- U' p+ @. C, p: m6 w/ r5 u }
/ Z) q; {7 S3 Y this.getobjstyle=function(node,prop)
9 ?( v( u" k, m+ z/ @" u {& W! J0 b% K. B, i9 P/ w4 _+ X
try
8 n1 r' v. O8 U5 W: n' P {$ {" D( Q/ g6 n7 P- ]: ]
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);9 t5 O/ r5 ]2 \) U( G3 O
}
7 v" T2 @: G a0 k" {( z catch(e)
& f, ^6 ], M N: w+ E# Y1 ~ D {$ J+ ? h* @- j8 k8 n% i
if(debug)
p0 ~' | |3 E5 e {$ O1 D7 `: P# @! _, F, B% b4 ?' [
alert(e.message);
|3 o: o5 b' I j7 n }
$ I! o+ M& R% N( d, Q
% U$ l: J a/ j return "200";4 V. |1 H1 m! `& ]+ w4 o G4 W0 C7 e6 Z
}
7 `! S! U) L: O6 w1 G: w5 D7 N }: i" l6 Z* U) c: B% \# j
, t, o0 C3 S0 @) w5 } this.RemoveHide=function(page,objname) h: J' `. i. z
{
" M& I7 e+ M5 X- C4 @3 H try
9 a% J3 U% V5 P) }; t7 O( h0 t {8 s$ M+ e) Q5 D) @ W$ O4 w; o
var minValue=15;( @: f: }( f* d/ ?$ ]2 k# j
var objs=page.getElementsByTagName(objname); / f1 |/ l) b: @/ U% v5 Y9 ?8 ?9 h
; [& p* u$ W1 n# J- y; D! D2 [
if(objs.length == 0)
7 j0 y0 m7 z% }4 p8 ` {
5 x, G( E: M$ q4 C: m if(debug). F/ o( S2 g& a0 D( x; P, d
{
+ r; d4 Z; t, ~ alert("no object found!:"+objname);
8 [7 l9 W/ Y6 [6 i0 \* [) b }
2 F) q8 g" p4 ?2 z6 a }
. X1 k I) u/ K9 D F/ l1 l# { else
9 i# L8 O! j! [/ A/ {+ p {( @! T3 l" i$ s$ d; d' N
1 Z& U$ M2 W( `7 K
for(var i=objs.length-1;i>=0;i--) / z W: Q' o7 W; D. e
{
7 O( s( Y4 t6 P5 o var node=objs.item(i);
! M9 s$ {6 W" l, g# ~0 Z' [8 g, T # k' j P# R3 J) z8 b# \
' e. x! h5 C5 \% a! G if(this.getobjstyle(node,"display") == "none" ||
2 ^* z2 B4 `1 w" k this.getobjstyle(node,"visibility") =="hidden" ||
8 t( x0 x& o: E5 U6 ~ parseInt(this.getobjstyle(node,"font-size")) == 0)
- h6 }- p" f, n {: k4 R7 l8 P& s( C5 E! |
if(debug)$ E7 _& C5 y/ v0 p
{
$ v2 Z ?& ?: d5 r5 D6 q/ O3 G. |, ~ alert("remove invisiable!");1 P: U/ V# V. A9 s1 m) F
}
* _$ j2 f3 x- e; N! E" l ? node.parentNode.removeChild(node);3 e4 @# t7 g, ]9 I" m6 J2 \
* E9 I) u y& }9 u; j
}
$ i7 p; c' z' o else 6 k! r% P/ H, k, Y( q r- N
{6 I, H7 t. x+ i% q |& Q: G
if(node.parentNode)
& u* P; Z+ ]& Q \( v( [ {
; p2 t6 C" ?. H+ S a9 j var orgNode=node;
3 |# w8 `# w7 g0 [3 F; k# C7 d! U Q. } var orgColor=this.getobjstyle(orgNode,"color")) R6 D$ j4 F" Y ?* F# u
var orgRGB=getRGB(orgColor);
8 J: \* l0 h" S- x / n8 M2 D" m7 Q, A$ k! J( S: k
var parentNode=node.parentNode
! A; Q# \7 ]' ~$ ~/ ~7 ?$ V var parentBgColor=this.getobjstyle(parentNode,"background-color");
0 h( ^5 _7 x, Y& q( H
; z0 d3 Z9 G1 t7 Z u; S var isLast=false;6 w7 e2 R* q1 t( i& p1 {8 S N
* t6 N8 O) `9 s5 N' V8 ? while(parentBgColor == "transparent") & w/ x# t8 t- s% k& G% i9 ]
{; r- H9 z+ f6 s/ ?
8 Z" q' H- g3 D* ?# N
$ f B0 ^+ s& g- @3 k
if(parentNode.parentNode == null)
2 ~* d" S' s3 p( N" T9 T1 w {
/ Y. Q% l4 o8 i( h) t! u2 l9 } isLast=true;
" Z' V/ }5 j: _: R- c4 H } break;" j/ p0 u2 b/ i
}
2 A* G+ U2 s. ~" ~. N q parentNode=parentNode.parentNode;2 e& m( m9 ^6 _* w- c
parentBgColor=this.getobjstyle(parentNode,"background-color");
" R5 f0 q9 ^" V$ N. f$ z. I9 M
2 j4 N! Z* O5 _$ J& b( _! h0 B S if(parentBgColor != "transparent")
: _7 y0 l0 k" n: V {" ^5 ~ m4 Z* D" R! {: E
break;
8 T6 J3 a, l1 G. R }
- @+ u3 d5 @* W0 | } ]& p9 m% {7 l7 s3 r
if(isLast)
1 n6 u9 I- j* J. e {
9 J6 A/ D# k9 D" J1 B. p* V7 G+ f if(debug). t' ?: o" E* w3 b9 T
{- P7 I& c1 k! t; e. p' _1 C
alert("last!!");
6 L' J; u Z5 L, @4 U }! L3 `; r8 V( H
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
. d c: V5 I; k( `. }3 @) R7 i0 l- W {
: L/ Q1 l m- l$ y orgNode.parentNode.removeChild(orgNode);
& x1 l, \) F% { ~/ Z7 J: j( W. Y }
+ g3 M7 {; k" u- l& W }
1 |, H2 }' }# c7 u' u3 | else. ^' D: O" _9 c
{$ J: w+ U- s* r
if(debug)
8 a3 M) W8 M3 m# b4 G! F5 j- }) P {
9 Q$ Q% r- s0 A4 `; X5 A% S alert("compare color and parent bgcolor!");
) O. ?5 k9 r _0 }8 t: I# K }
q8 G% \" c7 a parentBgRGB=getRGB(parentBgColor);
: }7 f- k: z5 Y. a6 r if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
% d1 }+ b( q0 c3 O" t; Z9 F, ` {
% j& \; x9 S# i orgNode.parentNode.removeChild(orgNode); % ~+ T. U% Y* L
}
* w1 q/ h: X9 L( t }4 j$ `# t$ x2 E/ f
}
; f# g; _) ^* U9 L }' _/ x$ I9 m8 j) Q$ L
}$ q. n+ _* [) ]: W% M0 a
}1 q1 Q1 e( }6 o2 f
8 w2 @: f+ k+ N' e, T; J8 s
, P/ t; W4 f# D) I, k% ~1 W9 _ var itemFrames = page.getElementsByTagName("frame");! _. ?$ R2 V# `/ b% I5 }) Z3 c
var itemiFrames = page.getElementsByTagName("iframe");
8 j# S. ]+ ~& Z% l2 W
; c3 Z w' t/ p, n. @" M: M. b" T var frame, iframe;
9 W7 q4 @4 T; `0 m* a if (itemFrames.length > 0)
0 ?2 V/ F- G* b# Y1 a: _6 m+ L {6 V7 i' `- F: n/ ^( Z5 {! k
for (var i = 0 ; i< itemFrames.length ; i++) ' | p& n k9 J% |& V
{
% B' {9 X) O0 h/ i- s7 e, A0 p frame = itemFrames.contentDocument;/ u3 q' i0 P" Z+ J) ]% Y
this.RemoveHide(frame,objname);
5 s4 z& w# g- t# k }
9 J5 y8 V) \8 e7 o }
! y8 F1 j2 _4 n, R8 R8 i if (itemiFrames.length > 0)7 j& g; D( t4 m( N* h! g
{
+ i3 j c1 E/ W" l! k) a- M' l for (var i = 0 ; i < itemiFrames.length ; i++) ( f3 u: [4 O' ^( l, l: {
{# C3 t+ o, X$ y
iframe = itemiFrames.contentDocument;
. p7 W1 R9 k( L7 _9 o% J; I" E this.RemoveHide(iframe,objname);
: Q: H6 w+ c7 O4 ~/ V* B }, K6 A) Z" x5 B+ }9 G8 c3 O
}
$ J2 R, [# Q# M. f9 j }6 f) ?. E2 K7 |
catch(e)6 m! n8 R% ]2 _( T% [0 |& Z
{: g8 Q2 c- P" u
if(debug)
7 F1 ?7 _8 H# s9 ?" x/ G m {
! f+ _7 X/ m3 k* ? S* b$ a4 J& s alert(e.message);3 v) b+ \2 H$ F: j) D% c6 d; R
}
, g; i( i% r# S D }; S( V9 b6 m8 b! \- |5 i
}# K: t3 g- d7 q7 b R% K
n. m7 R% K& `: b! ~( N( I
} F* B7 P) U; Q, C
* a# M4 e& W7 s( d5 e& a) Pfunction getRGB(colorString)( N+ \( i4 Y/ x9 m
{ \; e( V( o5 g( i6 E) d* c
var RGB = new Array;
0 h$ m# L. ]4 q8 B) \9 l var tempSting=colorString.substring(4,colorString.length-1);
2 N3 ~0 u" P: D0 [% x var tempArray=tempSting.split(",");
) h" `0 [6 F2 o& t U4 [( b; j4 @6 a# T
RGB[0]=parseInt(tempArray[0]);
+ T" f7 \' K& v4 r$ G! q! }, U: B RGB[1]=parseInt(tempArray[1]);& @" v8 j3 V0 ^- t; g- Z
RGB[2]=parseInt(tempArray[2]);
* p; C; n/ }( C( O; f
7 o4 p3 _4 `* f4 [% v; Q return RGB;; w" W q4 T' `$ S0 b8 Y$ B$ q( S7 ~
}. Q$ J' r0 a4 K+ s
function keys(evt) 6 Y3 T8 k D2 x& |/ z3 G( P$ }
{
# S* a ~0 c9 t, E! {7 p% w if(evt.ctrlKey && evt.keyCode=="81") 5 e# s& l7 ~6 ~2 i- ], t/ O1 C
{ * ]- U6 C" K6 J' G
CleanHideObj.on(0,1);& y6 Q0 N3 u: ^" n. M
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 8 _! K# \2 i3 X$ F
) P7 }% l& N9 n" C4 f. ~
} 8 e% e2 g5 ~- ^
}
4 o6 V! V" l4 O( I3 ?3 p; F7 rdocument.addEventListener('keydown', keys, false);
( b: A1 C/ G/ `9 U E" r8 b) hGM_registerMenuCommand ('Clean Hide',
; ?) E, J1 D3 K3 Yfunction(e){' W1 f7 L$ _7 o# j4 n9 ~
CleanHideObj.on(0,1)4 m5 d' N5 E+ a- A8 y
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");8 M* g8 K$ A# O9 e
});
6 `& T3 J" A, E3 b8 N |
评分
-
查看全部评分
|