|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 , M* a5 P- j% n g
: s( j5 U) h* ^. G
火狐插件,用猴子
/ X% X: u# W$ }: J' @7 V
. P, Z5 i) m* R. ]var debug=false;
- R" `- A. {; e1 Ivar CleanHideObj=new CleanHideClass();
/ P& Z A" c, |8 w. n2 D2 R' m8 S6 f# \1 n8 y6 i
function CleanHideClass() & `( D: U8 O. i: ?8 m
{
+ R& k+ y& @& h- g 0 a! R# n6 `- m, a) C, m0 Y% T/ P1 B
this.on=function(id,bMZ)
" a! D0 f' k) @6 |+ l {' M8 b: M; ] X; i, |
. _, ^; `. T6 K) B1 n
if(id == 0)
( D( q$ ]( D( A+ i" v# j {3 P. s5 x( J% W6 W# J3 \" V) b
var page=/* document.getElementById("content").contentDocument */document;
( U3 \( H8 p5 p, q" X4 I this.RemoveHide(page,"span");
: x% B' G+ p, b# R" E this.RemoveHide(page,"font");
% Y, w* k( N% l% y4 T! o this.RemoveHide(page,"div");2 e" c) ?1 v) c; q# y) |! X# f7 L5 _
this.RemoveHide(page,"p");+ r) L2 g: e2 J7 l# N9 n
6 D: m" d% }; {' D
}
6 e- {8 A Y( g: H" F8 {9 w: [
! ?9 p2 I Y* O }2 W" V- O/ ^. w& I1 }% W- K. t7 G
this.getobjstyle=function(node,prop)5 ~: P3 ~$ m" J9 t0 k2 _
{/ s3 [$ V$ Z) o5 f# \# ]$ e
try
; D% l1 S- M: K$ ]% V6 k4 u {
: c4 b+ p5 ^! L* p: [5 F return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);: _& W8 W$ m/ S/ K
}+ [% e" S( E7 I# B: m
catch(e)
e- J' J6 y+ S' _' g; u {
! s/ F9 N" P. \5 `* k( } if(debug)# f8 E# h5 E+ O: O! ~) Z
{
% M1 R8 `7 q; o alert(e.message);& a9 V8 d$ ?1 Q. _7 O
}
9 }8 r, o" Z. b# Q. i5 k
/ Q4 Z) P" L$ _) ] return "200";* u* W/ M* I# ^( c3 E' Z! `4 N
}
- f4 I& m/ N1 v O }
0 r8 I0 X7 t6 M7 b9 \. x" J6 f 6 V0 Z0 `6 _3 q) u3 l
this.RemoveHide=function(page,objname)3 I8 R- k! |6 A: A/ w
{+ w! A' S" v8 O! e$ Q; \
try
+ J- g5 f' y& Q% @, Q( X {
# F; B! m8 q6 Z2 f' S var minValue=15;
8 S1 e4 S9 d. Z; ?( R var objs=page.getElementsByTagName(objname); . c# c9 s% ^: S1 v: K
) _8 J+ @5 [( G. ~! N* q
if(objs.length == 0)
) ^1 ^% X$ G3 z' ]. j C8 D {$ y' Y' X6 o- M( v
if(debug)/ O1 J& r0 R4 ?! s! O+ T: R. M7 p+ Y7 |
{
- C1 ], Y# G4 ^- K0 R8 t; K8 b- q" d alert("no object found!:"+objname);
3 l( i$ _: ?( p7 m2 @ v, R! a5 c5 p }
& N/ P; n5 T2 t3 r6 a/ |+ | }9 Y- ]9 y7 ]* E y9 O
else" z+ {* @( p4 h- b f" Y
{
& n6 N' J" |# | , Q* @/ G2 Q4 S' ^' Y
for(var i=objs.length-1;i>=0;i--) 8 F9 s" x9 P. g7 }+ T7 ~
{
4 i! J$ v" x! f- ]: J6 C. Z$ X5 ~ var node=objs.item(i); 4 f# i/ V; c& D: `+ v8 |
6 I/ I- Q/ @, O5 ]
0 g1 G/ u! q- c& ^2 b if(this.getobjstyle(node,"display") == "none" ||0 P, ^4 O& s$ \. v }" G
this.getobjstyle(node,"visibility") =="hidden" ||
A1 \5 w. Z% @$ L; r. W parseInt(this.getobjstyle(node,"font-size")) == 0) 2 \2 C1 B& ?5 z4 Y1 x# y+ }/ h
{
/ O6 _ V: ]3 ~# ` if(debug), d" @" N. c3 i6 C3 w
{) A' F& a- {+ J" q) P# U3 w* a
alert("remove invisiable!");
* Z3 D3 r! T/ U1 N) c8 J6 F4 S. ~ }
/ M4 m& S4 ?3 G1 E node.parentNode.removeChild(node);
2 D2 I6 E/ E1 A4 V5 B 3 {! P4 R$ x# s$ H$ G* F2 |4 l
}
0 H) i( `; q, t- K5 P3 I9 q else % e$ J$ k: W8 P6 f! K4 s7 [
{
7 F* ~) ~# T. i5 y if(node.parentNode) ; p U* e* A9 B% o% Q6 x
{
2 A _0 g9 F" k: h* J6 s var orgNode=node;
- S3 }3 z+ k' Y) K6 H var orgColor=this.getobjstyle(orgNode,"color")
, O1 I2 G' s( e2 U5 p var orgRGB=getRGB(orgColor);
* m5 r+ `, B: I; K/ a
, Q$ B9 m+ L8 ?$ }1 L G var parentNode=node.parentNode
, T! j D9 E, v3 z. g* `5 L var parentBgColor=this.getobjstyle(parentNode,"background-color");
4 l* ]3 _/ ]- v* ]' T* c6 U : e* h8 v$ g; [( ]/ X
var isLast=false;7 ^7 m' d3 @; P( N
5 _( T3 M, f" Z9 W3 s5 h while(parentBgColor == "transparent") & d' |* ^2 y% l( K+ X1 e. l! G
{
# Q- I) `- e% j+ \3 W ) u: q; D9 }( H" M' d3 E1 K y' p6 y9 d
4 _) e- U- z* y3 ~6 c
if(parentNode.parentNode == null)- X2 p6 J) A4 o7 ~
{
6 a0 y3 G7 F- B1 X isLast=true;9 I& K' ~) j1 P. s+ l9 c
break;
1 W6 h1 T, Z& h7 T' S+ \ }
4 C: a j$ b. L parentNode=parentNode.parentNode;6 g8 N0 q: u& n/ {
parentBgColor=this.getobjstyle(parentNode,"background-color");5 v. w5 i* n1 |& b
4 _+ I; [0 t* i8 ]# ?
if(parentBgColor != "transparent") " f) _, x0 L" |7 o1 c) z
{
3 q- |; |# H+ e- d$ e break;1 M( r3 \: d, H- C, d
}
, l( H. U& l% r7 u2 u; K+ e }: H% V1 p* X0 g1 `( }# V
if(isLast) ! `" b& d2 ]8 y( X P+ T
{
: Y5 ?- d4 c3 q$ I9 l if(debug)& i% e3 [6 v v% u
{
8 y. O1 D1 @ x3 L0 ]/ H$ n alert("last!!");
: q. w3 v/ l9 `! N }; Q8 R! C# |& G. j- X
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
: G8 M7 `; o. Y: ?) M& W {" N: Y$ {* |" Y U9 E
orgNode.parentNode.removeChild(orgNode); ) r0 D% b7 W9 a; w* H6 f1 g6 W
}
8 e5 {3 ]2 [( g4 |3 l9 [ }
. I+ G6 r, Z3 Z `- g, d else2 _; ^4 w7 l" q: _7 c
{3 V) c5 F5 R( F2 i6 @
if(debug)
8 V1 D" e0 Y0 Q+ J& Y' B* \$ K {' F+ c0 ?( K6 o" h( }
alert("compare color and parent bgcolor!");. m1 W* F# G9 |2 `- M: b/ b
}3 b3 i6 @ X: X9 }: t
parentBgRGB=getRGB(parentBgColor);
. Z: r8 e0 q' H0 k, }* c if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
9 K/ M' f7 r: g a- f {
4 D( O, N$ G9 g! \. r orgNode.parentNode.removeChild(orgNode); ' P4 U5 G) O3 s$ A5 a5 a
}
5 C+ p6 y. C( ~) k# P }
) l# ?6 C8 u0 Q# L" J' o& p }
" e5 j" U1 H4 ]6 E2 r }, \# J% t9 r6 N$ v5 X
}3 e- b9 ^. S& J# S. S) \
}
* y3 f* l! s6 L7 X# x/ g 6 h9 h5 d3 d+ i4 F3 U% Q6 f# b
, U: n2 Z9 r7 b0 [& d) y& b var itemFrames = page.getElementsByTagName("frame");1 h1 n- R* n$ w
var itemiFrames = page.getElementsByTagName("iframe");: V8 z9 k* [% A) l3 I5 C) `& f
9 y; n$ K+ A, p8 n) L! R+ I: ]
var frame, iframe;( z/ c- k6 |! ]4 V- E8 p) x
if (itemFrames.length > 0)2 ]7 P/ g) U4 ^. t8 ] q
{, B8 F1 g+ Z6 G% X5 O: A+ o3 i# S
for (var i = 0 ; i< itemFrames.length ; i++) 1 h$ R8 G' P7 r2 m p
{
. B, T# V8 t8 C& T- w) \0 i frame = itemFrames.contentDocument;
1 f+ e8 h M+ u6 ], y: o this.RemoveHide(frame,objname);
5 L# l) d$ L+ C0 N; d2 `/ z }, y2 c+ t% i, T9 Q4 j* l
}
' l3 r( V4 q' [2 V; d if (itemiFrames.length > 0)
9 P2 k) B2 l: |* `- Y7 R {
. k) y: E% u, e3 K) K for (var i = 0 ; i < itemiFrames.length ; i++) / S% I% _( X* M* ~
{/ F; u, X; n4 d4 J! x% D7 b
iframe = itemiFrames.contentDocument;
8 L: c: H- ?5 } this.RemoveHide(iframe,objname);
& r( [1 t/ ~! z# L& J/ N/ Z }
9 F w% y0 g3 ]+ b, m) N2 R }
0 H" x. {, C8 L }; f8 T, l$ b( G( v3 Q X, V* h d7 h* E
catch(e), q& ]* \/ | S2 C# c
{% v% A8 n a- L6 {8 q6 j3 ?; n
if(debug) M: s1 Q. {0 B! w0 ~2 g' F
{
# g+ z% j! S2 b' D' ]" l alert(e.message);
% x6 q/ e8 u$ p) z }. K7 D1 H- f! F9 l
}
1 j. M9 l5 [2 ~1 i0 ? }' ^4 |1 o! I% x+ g1 F D1 P
7 G# y) a( j9 E& [& J
}/ r/ j3 g1 _( x$ @
4 w1 t B9 R6 Z! J2 [ t) {) l( ?function getRGB(colorString)
* E. f+ f% j3 `" p{
& Y) x& a7 o+ A- ~& D var RGB = new Array;
1 p2 A2 }& ]; x ~4 B var tempSting=colorString.substring(4,colorString.length-1);
- ]$ B0 [9 p5 R6 d# c2 t var tempArray=tempSting.split(",");- D3 Y, H! N$ z3 T' z
; t& _) q2 `$ E2 k RGB[0]=parseInt(tempArray[0]);+ S1 ^1 E# o; i0 f
RGB[1]=parseInt(tempArray[1]);$ S! V/ p8 _" y$ j% ^4 P
RGB[2]=parseInt(tempArray[2]);
; B( C* u; ?# {1 ~/ z( R ( g6 \+ a1 D- O/ f! ^4 h5 Y! M
return RGB;# M7 Y4 h1 Z, d% y# X; v
}: K; Z8 Y) q' S8 y+ r. s
function keys(evt)
7 i6 { E. n) Q% w0 U+ Y7 W s {
; _* S! Y6 D( @( o4 M1 E" b if(evt.ctrlKey && evt.keyCode=="81")
b' T4 J k5 [: a { & c4 F9 }& O8 K4 x5 L! T" U
CleanHideObj.on(0,1);
" J0 u9 Q/ o' {7 e alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 2 {3 Q! u+ |6 S
4 P2 v. U/ ^' A( _& d9 Z }
8 k# d: [8 \6 z8 n6 U' {7 a0 C( | }
# a( d7 E, e, w5 }8 Q4 H Y7 qdocument.addEventListener('keydown', keys, false);
% C3 K% u& A% L$ q, sGM_registerMenuCommand ('Clean Hide',
) n2 l4 Y7 b' M+ z9 Y S5 `function(e){/ l' z/ N/ K+ K! ^& S8 L
CleanHideObj.on(0,1)
( W6 o) N. N4 s' Dalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");1 z0 `6 F/ a) V2 s9 d
});
7 h7 v2 m# [: e! U; p7 z3 [ |
评分
-
查看全部评分
|