|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
) g5 v0 b0 r0 P5 }6 H) e0 q
; r5 w8 v7 W2 `9 T+ X' r3 ^! L火狐插件,用猴子, g( @ J9 c8 U& x
4 ^- c3 s. z$ o8 M8 [' e6 t" ?! `var debug=false;
( Y4 }' `8 t( K, mvar CleanHideObj=new CleanHideClass();1 {2 f/ F( E( A) k9 K5 K$ N# }
7 O! U D# i7 R' i1 w$ X8 F B6 V
function CleanHideClass() 3 n4 F K4 |7 f# t; t
{
# V+ B7 M4 F) L9 u7 D. ?# M3 s
# r7 z% U" s4 A& z' X/ _; ` this.on=function(id,bMZ)
c8 E) H: k! _3 W* L {
- c& B3 N" H9 W: ` R: V+ F: U
% J0 G) `& i O( t0 q/ z if(id == 0)/ n/ k% I" F0 k' @1 r, a
{
# V5 i2 u' ?& J4 n- t5 Q5 g% X1 a var page=/* document.getElementById("content").contentDocument */document; / e2 s* L- S' R: x7 e" S' g T
this.RemoveHide(page,"span");, u+ X1 E7 Y4 T8 a. n
this.RemoveHide(page,"font");' \- a! t# P6 B. L
this.RemoveHide(page,"div");
$ p9 ]9 i. ~! m- @% K. M: U: c this.RemoveHide(page,"p");
0 n) C: b) v3 t/ ]# X
( ?: _0 B- I2 _% C }1 Q7 ^& ]% P: j6 C
1 }3 v2 y( f" ^/ d
}7 T8 f1 Y4 `# t3 O5 E3 J
this.getobjstyle=function(node,prop)
; H9 [; ?" s3 w* e9 j7 I; U7 L {
0 _, H& p/ w. d. E, [3 h- y try8 Q/ o) O; t k6 y
{
- L( n: a3 _! ^* ]+ O return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
; @& M& b. f% X, R5 u4 q }$ p7 A0 e, |! L- E/ j
catch(e)1 e9 X2 W5 @. m9 A- |% q
{/ B4 ]9 n9 G" i$ N! ^) r. Y9 U
if(debug)8 [! x4 @6 A- ^: J' b$ U( N: t
{
6 }7 z/ `! E8 Y alert(e.message);
$ e: t1 d* |0 v }# r1 Y' a3 X+ x% @
3 g) `- M4 X2 W; \9 L3 c9 s' r
return "200";
2 \( T) |6 t$ ~$ t }
3 n+ s6 L' [- H) T5 X1 ] }
* z! I" S9 r6 j' g7 B, O$ T
8 S3 U/ C9 ~) t! r, ] this.RemoveHide=function(page,objname)+ L3 x4 P( a* H# I
{6 q; Z- {! K1 h1 J3 w/ a7 t/ m
try
; f$ U) Y* }4 _/ E3 H) G, J {6 J @+ Y1 l* [8 f. n( W) r
var minValue=15;' V6 C% S8 x) ^
var objs=page.getElementsByTagName(objname); " w8 T2 {! b% R( t* o% Y: m) S
7 r2 G* u0 j+ s: h, R if(objs.length == 0)
$ {/ c) e" |8 T6 r p8 ]* e {
' r: l+ e2 o! M7 L! y if(debug)8 U4 G m2 L; c# U+ {" t$ W
{
. D' x$ c& j' b) f3 j: { alert("no object found!:"+objname);- W/ ~2 h) T! A' T' S' p
}9 Q3 u w- M& H
}. _# O- ~# x# F0 R- _) ^
else
0 W3 U! [9 Y- @* p5 D- Q- @) x5 } {6 ^5 _ x& v4 h3 P$ W. j k: C/ P G
_0 i5 C& \+ T$ w D+ r: [7 V) x for(var i=objs.length-1;i>=0;i--) e- y7 J/ X- \7 _
{
- o9 r) }0 T: G) m var node=objs.item(i); ) [# A: k' R( h4 l$ P! i
, q* P4 M8 [& B4 m 3 Y* i2 Q. l5 N
if(this.getobjstyle(node,"display") == "none" ||# P" W2 D/ R9 d+ a+ J' u' a
this.getobjstyle(node,"visibility") =="hidden" ||2 ?0 Z3 }/ c# }( m; x
parseInt(this.getobjstyle(node,"font-size")) == 0) 5 E, E. {5 h, a0 V
{
. }( P' R8 v0 ~& b" w if(debug)
: ]3 C8 \8 t2 \, f. T {
" y' [- \" Q6 `( I! i alert("remove invisiable!");
1 l8 C' \# @; u! I }3 f+ W. E9 t6 ?* [, B
node.parentNode.removeChild(node);1 w& m8 Z! Z7 m/ V. B
% o, I1 D5 |; q& @
}
2 q5 U1 ^2 ?: j! w* i$ [7 ? else
! r; \- j, ?& s; n1 Z% Z, Y {
" \/ _9 s! T# B, c" i9 Z2 X& V. H if(node.parentNode) " g2 e/ K9 E0 p% E9 T
{
0 p; ?9 b0 P7 Q5 s3 x0 w& B' U$ G) t* S E var orgNode=node;2 g& L3 A+ v6 P0 H$ u. Q
var orgColor=this.getobjstyle(orgNode,"color")
. k: g, A/ v& c, D$ L# X0 X var orgRGB=getRGB(orgColor); 4 [2 Z5 V' c7 b) a
# _, y9 g) d' n X( h2 Y# [
var parentNode=node.parentNode
, o$ J* o m' J& L3 K var parentBgColor=this.getobjstyle(parentNode,"background-color");
6 R/ `0 Y! m4 l, Y5 p( l 0 ?7 A/ _1 f+ t/ a- m1 Q
var isLast=false;% R# L9 ~. C# ]& ^& ^
. \( }+ y% {; u! z while(parentBgColor == "transparent") % f/ ~" m1 e' V6 f) _& p6 P
{
) A: f; C/ F; H2 D* G7 e ! T. P5 F0 [8 @9 Q+ S) f
( r% n: ], [( W2 `2 B/ F if(parentNode.parentNode == null)
. `. k. F0 S3 m4 {% `, f {
# ?) F; b4 o( ?* [: Z isLast=true;
g$ h# S4 C# z0 ?4 y& d break;3 y c9 e/ ^6 ?5 D( _* b% W
}7 O, D) z0 T6 c# c* H1 G: R% f
parentNode=parentNode.parentNode;
- ^( c8 M2 u$ r( M' p$ O parentBgColor=this.getobjstyle(parentNode,"background-color");5 K1 l* ?3 d, C7 ?& N
: P5 _: m$ l+ m, M' [
if(parentBgColor != "transparent")
3 ?/ s0 X/ y, P6 k J5 _3 } {( f) h+ P P$ S A) @
break;4 @* c. F. e1 m1 ^: g4 {
}
. [6 L+ X8 x: d0 U7 }8 K }9 ]) E8 c+ _( d/ [ X
if(isLast) + \, W0 B/ ?' l
{
7 ]' D6 |9 Z) R0 L if(debug)8 Q. x* I7 G1 O8 M- B* `, b
{2 M( i7 D+ v5 c7 N3 [! c
alert("last!!");
6 A! Q) y9 y7 O7 ^ }
3 i7 A+ B8 x3 e, l0 W a8 x if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)) `3 O, r/ a; }: r3 L: G
{4 F* V, [" n# Z- ~
orgNode.parentNode.removeChild(orgNode);
$ `! ~7 J, p: T, k }! p1 Q2 v$ k: ~! H9 a" J$ \
}
9 l! |/ A, y) @9 t else
. N$ ^/ K5 k4 \. \6 r( r W; x6 M {) {$ O3 A8 @1 F
if(debug)
4 l8 `: O9 i+ Y" Z {
) a+ }0 q* o' T9 e$ @ alert("compare color and parent bgcolor!");# i, }, q0 n: Q/ s. }
}
, V: s- S/ Z$ s6 } parentBgRGB=getRGB(parentBgColor);
, t8 t- z8 ~2 \6 l9 i; r if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
/ p/ g$ h* ?0 i" v y8 x {- c" x0 {; R7 ~) E. L3 l6 D/ o! ^
orgNode.parentNode.removeChild(orgNode); 9 n' ~$ p& ~+ Y
}; }+ t( K1 P4 H* L0 B: P
}- a, m' [. F4 h5 Q" x
}
: |3 d7 {% V9 R" a# ~" M( | }' @7 W6 U, e) V" @' h. r- o" T. a
}
+ Q( E; K Q/ C# P& \" Z+ q# u }
6 Z! Q! x1 l& W. q+ L. T
5 @" O3 b3 {7 i) W, ]& A( A
7 d5 d7 v. C0 V; `3 T var itemFrames = page.getElementsByTagName("frame");
4 G. G& m) c7 X2 q k/ e var itemiFrames = page.getElementsByTagName("iframe");% n; V$ S, q6 m( c1 f* y
! Q$ J2 d; v/ e9 X8 \9 m var frame, iframe;
/ ~5 e8 L( d, z7 N# }5 f4 f if (itemFrames.length > 0)
5 g- L( t, ^% q! R% J {
) x; X9 V. c. S* X# K( V# f for (var i = 0 ; i< itemFrames.length ; i++)
% z) `% D' I n8 _* r a/ | {/ Z8 R E' B9 s- M
frame = itemFrames.contentDocument;1 q; I9 X C2 \ _0 @" W1 R" {. f
this.RemoveHide(frame,objname);
, [! A2 |2 Z3 ~* w* q- W3 h: i }
. p' c7 @1 e: y, r C }
! Z( M! B: l( w S K+ U if (itemiFrames.length > 0)
7 F* P/ I/ l% O; w. Q, {$ E {
! S6 q6 K; ~$ q, w2 I/ Z/ z for (var i = 0 ; i < itemiFrames.length ; i++)
- m) f2 d5 Q6 `/ B4 ^1 n6 ` {
! K( S/ J3 b( D" c% ^' N* z) ~ iframe = itemiFrames.contentDocument;
: S+ x5 |- J1 S2 W2 A+ l- i this.RemoveHide(iframe,objname); 6 x ]' q1 _* D9 L3 U. e V2 ]8 F
}: V* l- m+ u2 R: f* M* {
}
$ J4 r, b5 T% ` }6 _) \- g0 V( u9 c0 T
catch(e)
* f" s, F' P) w& O( v {7 u1 j& N4 u5 t8 E6 ?9 s7 X
if(debug)
4 ~; U6 w6 G Q9 Q o {) }6 c9 x9 ]3 h! _ h5 o
alert(e.message);
0 e, C* W8 S% u }2 m# j ?- q( g% \& L0 H
}
* [- J$ b5 a4 }9 o5 u7 M# Y& } }
2 g! ?" I9 S" ~! @1 N. f" O( n 8 e- J: e9 ^. G1 `/ i
}
, P* A! b( R3 @/ s3 d2 U W. o1 S5 Z0 V5 x3 a, B. A/ ~4 @5 l
function getRGB(colorString)
# y2 M* s; l- _8 X s- ?{! Q8 P: C, u7 R! g n7 [
var RGB = new Array;
# N E& C. b% g# e& g var tempSting=colorString.substring(4,colorString.length-1);3 b+ w1 s) o# z9 @7 Y" X/ |& a1 Q t% D
var tempArray=tempSting.split(",");' H3 Q9 u2 `" j! }+ n
& }7 K% |% t0 ` RGB[0]=parseInt(tempArray[0]);
# m! d7 `0 e( q* m' r% V8 c RGB[1]=parseInt(tempArray[1]);
2 l T5 V1 y* f+ A# P RGB[2]=parseInt(tempArray[2]);. r7 Y ?) ?: P. x$ o! ], V! n
2 |/ t, o2 h6 t/ t1 p) l: M6 {6 _ return RGB;2 S# Q, R6 @: J) v0 \
}2 Y) ~3 ?+ q9 m U- P P9 B
function keys(evt)
( Y0 L0 ?5 z7 N& K; w { ! B9 F$ {; _' J
if(evt.ctrlKey && evt.keyCode=="81") 6 { Q4 o) D. ^ u: Y( M
{ ! g' T. y& _3 R5 P2 a/ C
CleanHideObj.on(0,1);
. ?- }9 C- T9 x alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
$ A& F& n8 Q) x( E4 V, N # A, q- ~/ u0 a9 k
}
) E: S8 a+ e* z0 L. ? }
5 M& U8 N9 d6 U: b6 |8 Pdocument.addEventListener('keydown', keys, false);
& t m: X( Z! z, D P. O* W1 g/ ZGM_registerMenuCommand ('Clean Hide',
, W7 G7 D. x5 x$ rfunction(e){" Y& n/ P9 N0 ^0 r
CleanHideObj.on(0,1)
. _& o; h* Y' t9 n5 w) G4 u2 calert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
) {7 D: J+ H8 ~});7 q' B$ B$ Q$ A9 m7 o1 O
|
评分
-
查看全部评分
|