|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 3 D, C0 R2 ` x
* i$ M8 q2 J: i8 y |7 b/ @% x火狐插件,用猴子
+ T: A% k/ k& w, Z d1 U2 b( j6 [9 p- V4 ^% p
var debug=false;
$ L7 ]: F2 ~' o1 [8 l S8 cvar CleanHideObj=new CleanHideClass();
& Q& I3 Z: f& ~' r/ Y" P% {
6 h0 P, n2 [5 G5 c' Vfunction CleanHideClass() / ^# Z9 N; Y* a" [5 U/ Z( x4 S
{
# x- N* L- B* `5 r
0 Q3 E- t9 O A; M- ^9 S this.on=function(id,bMZ)! m! ^1 {, ~- E9 O
{" G4 t1 _1 m; `6 f' D8 l2 v
0 b+ a3 i. i( o* H
if(id == 0)- V0 B3 o; j% F, D4 p
{
' _& y+ p* S$ ^- y) K var page=/* document.getElementById("content").contentDocument */document;
+ s5 H7 K: n) T0 @! y0 ? this.RemoveHide(page,"span");0 u& }9 T1 r o% |- q* U
this.RemoveHide(page,"font");
/ f# h3 s) ]5 T9 Q( G. f. f- \ this.RemoveHide(page,"div");8 v# h+ a5 X0 ?
this.RemoveHide(page,"p");
, _' }0 ]; G$ c% e
. b" t S" G' ^- Q1 q3 e) e }* l( j; n9 Y/ |- h( I N- s& P; x4 i
" j+ C8 H. [ l. [, e }, K' r2 h! J- ?, _( e+ H. k' ^
this.getobjstyle=function(node,prop)& i3 @. y/ ?$ o5 B
{) o7 d2 l2 j! e" P0 r2 m& c
try( \4 \7 l, ?2 y! {" [$ y! n
{9 A: `* K. N9 E( r
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);5 t' A5 d7 E! @! `- |$ r
}; ?9 w. a7 ~& m0 H% x. m8 ~
catch(e)6 y" t9 F5 c( M8 O4 A. Y+ ~, M# `
{8 s! N G. a( ^3 D* ~+ F
if(debug)7 @; L4 s% {4 l0 @
{$ L" N+ J8 E" o/ S. {
alert(e.message);1 Q/ g* T1 e0 r! V& [7 i5 y
}* f8 j9 N. P( O& g7 P- X
8 e$ a! V8 g+ d return "200";5 p3 r$ n; P) Y4 j$ }
}
) H" Q/ Y; Z5 ^& I5 i k }
# o: j" k& E5 |8 A- ? / c" F* d- X( h0 P
this.RemoveHide=function(page,objname)
) V4 E" U( m% y: e5 w' s: [& M {+ w- D5 z% v+ P$ y% `& w
try
- f( ?+ @% K- k0 L* \8 ]9 n { W2 z; T% N4 W$ P0 R
var minValue=15;
7 _7 x1 E6 p( X var objs=page.getElementsByTagName(objname);
+ l/ N v: M4 V# j- H
9 n( g8 H0 j( d if(objs.length == 0) ' A' G' Z" Q3 Y# O
{- T2 g5 T9 K o
if(debug)% @9 y a, W! B* |; Q: @
{5 ]$ C. a% ?$ _0 y ]* R% C
alert("no object found!:"+objname);) h/ q3 \, N# D7 }; w: g& |0 H
}1 |. u9 O6 ^+ m, ]+ l" V% E
}$ h. M9 O$ Z9 }& z' D2 D1 `
else
/ G3 U) Q% A+ a8 |/ f2 R4 t {: R: [% D/ z- C# O/ P5 p
6 D$ m. ?- j2 ]5 _ for(var i=objs.length-1;i>=0;i--) a* J i4 q4 t5 X: g* J
{& S1 G9 Y# u- `3 |* ?* \, A1 N1 R/ Y
var node=objs.item(i); ! f G: I% E' D/ R+ p& r
/ z6 O- P$ @; S& X& |7 Z
- f, @# n6 P E9 @& c if(this.getobjstyle(node,"display") == "none" ||
& n, f; D4 z1 h# @ this.getobjstyle(node,"visibility") =="hidden" ||4 S5 l* W8 o4 v+ a
parseInt(this.getobjstyle(node,"font-size")) == 0) ; ^% O. f) u9 x7 w5 [2 B9 A* d
{
2 B6 \( N4 Q1 k5 M5 [* W7 F if(debug)
% ^* l" q$ b' n T7 c {
# s5 {+ Q l5 p alert("remove invisiable!");
5 w) Q6 h5 r; ^2 C8 E+ L0 [- C }
) E M' K k1 G- Y node.parentNode.removeChild(node);
3 {+ o. X3 s3 ?, o4 h 7 P3 _& ~' x* o
}
$ N0 V- ~! s) e7 _. N* @ else
3 J2 H; O# f( [" ^- I! w {
1 D7 t# h" t9 L' N if(node.parentNode) 7 G: {$ _3 K! e+ }6 y
{
3 g! k& k- j5 O, x0 M4 X var orgNode=node;5 y3 Y: C6 O6 K2 ?% [$ y) K
var orgColor=this.getobjstyle(orgNode,"color")6 E; N$ H1 ^( T% O S$ S3 y
var orgRGB=getRGB(orgColor); y* }) J+ g: G: J6 R
9 }& n G" Z0 Y3 e5 g
var parentNode=node.parentNode
# T2 k2 r9 k% B; V- E( [ var parentBgColor=this.getobjstyle(parentNode,"background-color");
& N# W. V7 Z& A& n, m0 ^
+ V' ^2 D2 i% O/ W* }; u3 F var isLast=false;
( l* K* V) P% D2 I _ 8 G& T( x( ^( b R9 p& ~
while(parentBgColor == "transparent")
) D5 J( D+ \3 o5 X% \8 U {) h1 a! P* W! G7 X
0 y$ _ [% z4 d V+ S / F7 w$ G5 {+ m" P5 ]# V3 v
if(parentNode.parentNode == null)
+ I9 r3 E3 z" f; E0 g2 H {" c; t/ d5 y3 h# n5 x& h l0 ?* `7 {
isLast=true;
$ |, [3 [+ _% X0 I% A" v9 O break;
* @6 @9 Z- {+ B$ } }; K7 V' u! \: x+ z
parentNode=parentNode.parentNode;
- ^3 R4 x- h1 U- f( v/ l1 S5 @- H0 c parentBgColor=this.getobjstyle(parentNode,"background-color");
9 C: V' j g, T. s# }0 a% b( q, v0 y* J# M) c6 M' b
if(parentBgColor != "transparent") ' e! y5 J9 U0 c) G! n" Z% \
{
+ }2 t, p1 z; \! v% ? Y break;
. O: G1 y; c+ q, I } i: j5 h( f% E! A- b0 V7 ~
}
7 \/ E6 j' v9 a' Z/ l& O$ { if(isLast) : y) J w% J9 e8 v7 G
{. U+ d" q' W6 a _2 c; I' I) u
if(debug)
# {5 Q, L6 P1 F, Y {
; i8 w1 ~4 C f. V# \ alert("last!!");( b; h. }4 {, G% R* p4 e
}# {- b r2 M% w4 h4 F0 g" S9 @ x
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
+ u- L8 v( F* x, L6 Y& d5 ]( f {# |; P/ R8 G; \& _
orgNode.parentNode.removeChild(orgNode); 6 [' O$ J4 \- w z
}% ~! ~: s9 d0 M8 K8 I- n$ J
}( [: n$ i3 C, \. G* c+ u: b% W
else
8 n* W1 k, o$ h2 J$ Q% ~& f( P u {. l5 `2 b8 T9 b/ g0 o" C, F
if(debug)6 e7 x' h2 w0 g0 L8 g K
{
8 P+ t' i9 F$ ?( i alert("compare color and parent bgcolor!");
4 ?: Q) ~" H0 |3 { }
2 S/ m# B; b7 {9 Y( g$ N parentBgRGB=getRGB(parentBgColor);
% x! [' g+ Q7 D7 x* w; g if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
+ A ~ ?0 W8 X6 X% M" m# y9 H {) G) H+ ]% k" I; R
orgNode.parentNode.removeChild(orgNode); % x/ \' i, |' e6 X
}/ i& X3 ~3 W" ~* ^
}
' \+ J& q$ I, D$ |7 @' k) } }
! [# C; o( O' D" O5 `" {! z! a) z& ` }$ _- {; F/ E, t" T
}: L4 m G% C" j7 T! M
}
$ o4 e/ K1 c# H. \) _: H9 Y0 D
# {! m F5 C& {3 n# i' P7 J
! h8 P; v# V, l0 o" [ var itemFrames = page.getElementsByTagName("frame");6 }7 w2 M/ v/ Y! h! ]( n, t
var itemiFrames = page.getElementsByTagName("iframe");$ C! P* q2 u7 j5 Z
/ ]3 ? u$ J5 F% W' s var frame, iframe;0 U5 B, r2 _( e
if (itemFrames.length > 0)7 p9 u8 Z, v0 |6 Y- _3 M
{1 g% [' {/ J- \6 V( {7 }
for (var i = 0 ; i< itemFrames.length ; i++)
9 g+ q! P! |, [4 X) b" }2 l. W {0 C8 V# O; P7 n8 p: n
frame = itemFrames.contentDocument;
J+ c4 z9 L8 m! b this.RemoveHide(frame,objname); - q2 m) {+ u' _) B8 V
}% l! N; g. F1 R/ n( w6 M
}' I2 S2 W; C9 M) G3 c" Q- V
if (itemiFrames.length > 0)
$ [. |; J! o4 J/ A: G2 I7 f {( L2 L6 _' l, m* b: j( c! s
for (var i = 0 ; i < itemiFrames.length ; i++) 0 \* f8 l! X" Q, t7 ^
{+ }4 }) l, d) N& A8 S ^. W; H! L
iframe = itemiFrames.contentDocument;) T F- l, B2 [ W
this.RemoveHide(iframe,objname); 0 x4 }. h6 Z4 _$ I
}) R7 @! G8 x1 w+ }6 Y
}
% Y4 H. o! `2 L) L O) t* C }8 [2 M( M; o) f% x, r3 p1 e2 Y
catch(e)
6 C4 V" H3 j1 @; Q: ` {$ e/ I" I) t# W* G0 C8 T& G
if(debug)& r" F3 o! `% h. [. C! y5 |* h
{" n4 B. E" V( K
alert(e.message);9 A* K C- ?! j) B G# p$ _6 _8 I9 K
}1 X3 m+ Q0 R. k. i4 ~) J' u( `
}) U5 |1 j. Q' H# S N
}
9 _8 r: \8 Y/ v9 ~% W / E8 S. i6 n0 \3 ]" u) X0 @
}9 X; Y7 ]" Z) i. N: Y1 |
( R, {: q _5 Gfunction getRGB(colorString)/ j% ^5 F* l7 b, c- H
{
. ~5 B2 M4 Z4 w" s2 U% ?* ] var RGB = new Array;
3 n% I, f( Q0 k var tempSting=colorString.substring(4,colorString.length-1);
2 \& t0 m) I7 V# f5 A5 v var tempArray=tempSting.split(",");
) C; z* a1 x/ p5 [$ i/ t; X' I# |& x- W/ K
RGB[0]=parseInt(tempArray[0]);
8 ], r" p; y4 f9 \: G2 N+ x% K RGB[1]=parseInt(tempArray[1]);
* i. y* z/ J$ m6 }8 i, f8 c RGB[2]=parseInt(tempArray[2]);
A! \5 \9 c3 d+ N+ r- I- G& X
* U9 O! W! R$ H6 O5 Q return RGB;
% q* p7 ]9 |& _7 h}. h0 q" h5 Q) @2 b) L9 f; @4 U* U
function keys(evt)
7 h8 g6 D$ o( x {
. ?# s# w: e1 b! T if(evt.ctrlKey && evt.keyCode=="81") , u: N7 f2 c5 r7 q( C* r
{ 5 i* c4 Y4 i$ x6 @7 e) }# u) C* [& N
CleanHideObj.on(0,1);
7 t% B9 F7 h' E) m# ?7 M alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 5 r$ V5 V5 J' F4 h$ t% K7 N
* t4 s. A' }3 d3 M+ K# \1 ? } 6 Q4 P# S2 e8 P- [: _. \
} 7 ?8 c7 {$ M8 }4 F
document.addEventListener('keydown', keys, false);
- }8 U; R8 w; m$ t/ h7 V2 T9 wGM_registerMenuCommand ('Clean Hide',5 D* u2 W$ D; [& M |
function(e){# J" L7 w1 ^+ O, ^
CleanHideObj.on(0,1)
5 L6 e* w! L6 S6 L, valert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");' m& v. {& i2 s
});" D `, }/ P) Q3 M# a) W
|
评分
-
查看全部评分
|