|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
X% ?7 o1 R( P" G; J( u6 h# Q2 _
8 E$ {3 _, T( _/ [6 Y" W- ~火狐插件,用猴子
+ w j& m; ?3 s! t0 ~, Y! z$ Y. d5 Y" f1 Q' j6 N* w9 n3 x! [# z
var debug=false;
5 E+ a# w0 }8 d7 [( qvar CleanHideObj=new CleanHideClass();' t l/ g( _5 S# a4 I
6 U0 {3 [/ Y1 M9 ], h; k1 V( [function CleanHideClass()
. O( S+ @( N$ N4 h& i2 ~9 o{ * N& s3 m% K1 j
3 Q+ |6 D3 k6 b; g* Q: R; I8 N% T this.on=function(id,bMZ)) h) I* k; C& N5 u% o; Z2 ?
{
' S' G7 B+ P/ E8 B8 w5 c9 k2 g% m
1 c3 |( r6 B. e( p( T1 ?8 Y if(id == 0)4 m8 @3 K2 p9 m' w' h- H$ x
{2 k& H5 c3 M' D2 @* c9 S
var page=/* document.getElementById("content").contentDocument */document; % X9 ?1 i; Z3 q* h
this.RemoveHide(page,"span");
- x! J1 J2 k8 q1 d% ~& P this.RemoveHide(page,"font");
# b, D: m2 y1 t7 {/ l this.RemoveHide(page,"div");
+ y- f2 l( c$ ^: i+ y; s this.RemoveHide(page,"p");7 I' j6 q7 g% Z+ X/ u' E% q: H1 W
; x! F2 }, c2 S }1 x2 F& q- Q- f
: D$ i3 r6 ?4 ^, A! o1 t
}
2 s0 h/ D$ p# D: [. M this.getobjstyle=function(node,prop)
. x- i8 X. {, u5 p1 _ {4 Q# L! X" _5 r9 V7 |; w
try
8 O' h# x& f0 ^: `. h0 G: [6 ]5 v {+ l( c/ b/ d2 _$ l% _5 [7 Y; Y: C. x
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);" I) w+ v. ` w# L$ B: l$ C
}' ~) S% L9 G) \9 `8 y5 u$ x+ `
catch(e)8 A A, ~+ M* ^) M( E
{
* Y. D' f* _' R" O2 N if(debug)9 i, x" K# @( J X) t6 E) r
{
l9 y3 Z- C' a' c( B& _# T* | alert(e.message);; U& r" V9 i/ @
}
% q( T0 x4 N' ]; ]
) a6 f) j6 e% X5 A% u return "200";1 H& ~) n8 }4 ?. g$ m: P" N
}
- O9 a# ?+ ^$ j, I3 S/ @' d }
5 {& d- Y/ A6 t3 C J/ R h. r. M , o- ~% [5 h# Z4 A; y
this.RemoveHide=function(page,objname)
% c+ r& d9 l. F+ M {
& P7 l0 m. k1 f9 Q9 s9 a3 u try' _/ g9 l* ^. ^- w
{8 o! n: K3 D) C
var minValue=15;8 C( u( D8 W' B/ y1 P4 ]
var objs=page.getElementsByTagName(objname);
6 r) `- H3 X5 r2 G3 @2 u
$ g4 u8 r- Y, o }3 X, z if(objs.length == 0)
# W( Z y, d; R" }) }) T% Q% A {
6 U [: B% {7 I$ b- u if(debug)' y8 i- u. R2 j# i2 r4 E! L( n
{
2 [8 K( e# _$ U alert("no object found!:"+objname);6 k5 p! y' }! Q* i' W0 H
}
) I; P) ]& r( K9 E2 g0 T+ i7 F }$ E Y: a! T) S
else5 |* O1 j* U0 b$ I1 k
{
+ ?$ J8 \: g+ T* P" g 9 J; K' h. _# Q2 y
for(var i=objs.length-1;i>=0;i--) 2 f7 l+ |! G% ?
{
# T: e: F' ]5 U- o. b; h var node=objs.item(i); , {& ^ Q. ^+ } _
5 k5 L$ p# H0 m8 z: A1 ]
6 M2 q' b/ }1 z if(this.getobjstyle(node,"display") == "none" ||) y1 b% ]# w) w" Z* y* _
this.getobjstyle(node,"visibility") =="hidden" ||3 W3 ~- ^. f" c% X2 y
parseInt(this.getobjstyle(node,"font-size")) == 0)
' u) {! f0 Z( |3 b* h2 z {9 x+ b- ~, | a7 C y' v9 u
if(debug)
- s7 o q* t; O Z) _: A: O {2 i9 V: ^2 x) }7 ?' W' L
alert("remove invisiable!");' |3 a' x% d6 z0 c, t4 f4 J
}
6 x- A) X3 @/ W1 i' _- t& n node.parentNode.removeChild(node);
% c: P# ^! O- m% j1 q, Q. q9 _* z ( m; ], ~: f9 x# Y X0 O1 P3 I
}: o, k: d% E. p+ A" t& [2 G
else 5 f' s- k8 P u4 n
{" e* U" I4 w$ t
if(node.parentNode)
/ a9 g+ w' ^3 w ]7 L1 u* C, f9 S {
o+ b1 @& d5 C0 O2 j' W var orgNode=node;
# Q1 ~0 V* k; c/ c; l' i( b( b7 y var orgColor=this.getobjstyle(orgNode,"color") d4 `# s) W6 l/ G' J% ]" B4 H
var orgRGB=getRGB(orgColor); $ \/ F0 V4 h A" S6 A$ t6 Y
% j: p: V# R7 u/ ^& s6 r
var parentNode=node.parentNode) u/ v$ l) k$ m/ b# F
var parentBgColor=this.getobjstyle(parentNode,"background-color");" B0 p- I& X6 r: V. Q, B& S
: G0 G k9 G8 \3 G3 r2 u
var isLast=false;0 s6 H+ B" t8 C8 h% ]
) ?9 H; s( @- q& O- x& w, j
while(parentBgColor == "transparent")
w3 r! c0 t. O. n* P {9 h d$ @( _% ]6 p2 G
; o9 y- d' p6 C2 z3 [2 [: Z
. n y0 E: y: N+ F+ V1 ] if(parentNode.parentNode == null)2 |' C3 `4 y0 V
{
7 T% ~; {% n3 A2 y% }/ I& ^ isLast=true;
* H3 N0 A% L0 Z$ N% U, O break;2 x5 a& }7 {" w( H
}
; r9 e" p a' P; R: P8 P" j- m parentNode=parentNode.parentNode; B3 P8 h& j' c+ j" ^$ R
parentBgColor=this.getobjstyle(parentNode,"background-color");
! w( a. d% C5 b, o( _/ j1 h& m) Z. _; N8 y7 X# v# q
if(parentBgColor != "transparent")
! Y. M; O% c- |; o {
9 n0 B" v. K2 c8 P break;% D0 l9 \: z& c6 h7 \
}% A" H9 q) M, \2 H# Z( S
}
/ I7 W8 ?' Q. o1 M) ~. `4 x if(isLast)
9 h( v( K1 ]0 H! W* U; v- x. d- R {
9 Z" k0 a5 ~) A! ^ if(debug)" g8 N2 c/ m& a5 K
{* e8 [& Q5 f# D$ f* | E+ m- A
alert("last!!");. U: x) k8 X$ A7 @
}
) s) z0 U0 t0 t: t3 d4 p5 D1 M7 z if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
. M% d: ]8 U! L( p {/ k& n0 j; ~5 r% _! m
orgNode.parentNode.removeChild(orgNode); " s$ q& O7 w; y0 W2 Y! \7 V
}$ l/ ^' F4 o: B y! G
}& h0 N# Y8 R1 S, F6 O8 F& i3 g
else, S( G) p: O8 \
{5 a! w' \4 x; s. t6 L4 g7 d# S
if(debug)" }* ?! i+ T/ q% O) ]& p7 S5 c8 e3 U, l
{ f; S9 I) \ P8 W- m- a8 H
alert("compare color and parent bgcolor!");
. D) S! [' j, v1 {+ E+ _+ w# C. G }
( r9 x" j: n# P+ p parentBgRGB=getRGB(parentBgColor);
0 \9 O; g+ p: p! m, z' H0 F if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))9 r: R) z7 V- ^7 T
{3 r1 W0 o! X* Q$ r7 U! }! r' H
orgNode.parentNode.removeChild(orgNode); v* R7 Z* o. ~3 a# X3 p3 D9 n
}
" S0 B+ T, w) W4 }( X, y+ r. v }
3 d! a. ~5 l+ O. P }
8 V/ X5 `% r+ `/ u9 @ Q7 S }
9 {4 R) w1 ]5 t% w5 F }7 j! C# u/ u4 s" U0 \+ a/ W# [! i
}. M" E5 N' V- C1 G6 ?
% k* G. T T$ f2 _6 D& _' C
( n% G+ {6 L% g4 @
var itemFrames = page.getElementsByTagName("frame");: z1 Z6 A/ q+ T, N8 y G9 ?
var itemiFrames = page.getElementsByTagName("iframe");2 I6 R |3 q, V0 X+ \) \' h2 I
- y' v8 t& ^! k
var frame, iframe;
6 Q; S/ h4 b2 b9 k: g# ^% b R if (itemFrames.length > 0)0 s; z" {0 T! F; _
{* x/ S8 ]1 i' E* J% _& i
for (var i = 0 ; i< itemFrames.length ; i++) + S& g+ [7 b1 ~( x% T
{- l4 p# ^! \5 E# L K7 ^6 C
frame = itemFrames.contentDocument;
5 }* o8 b6 a, A) H5 q: x this.RemoveHide(frame,objname);
5 Q; h) `* G7 r1 Y' i9 X }
2 o( U( F! |8 W: _% w% t/ q: W }. C$ v" F7 o1 S, d- s, {* s; j
if (itemiFrames.length > 0)8 ^2 x' H' x1 p5 y6 [* |
{
3 L5 |7 `. R# W+ [ for (var i = 0 ; i < itemiFrames.length ; i++) 1 S0 }; b) j) R# ` ]8 F/ C
{: i6 V+ Q! q0 Q2 M' t' d
iframe = itemiFrames.contentDocument;4 X9 Q+ y8 ~0 H. C8 k$ r# g" r
this.RemoveHide(iframe,objname); 7 X; V& n; q' a
}
! R7 E6 \+ }0 [; s4 Q, G/ D }& g2 i! [8 A9 B0 x1 t2 {5 Y
}
( e& J& ~# m' P2 L catch(e); m% Z* {$ E) U; m2 P& O; z6 Z
{' |9 q" O9 s5 d9 H$ \9 b; ^
if(debug)
0 ?0 s% V" o; K/ v6 t* A {
/ p0 }) s0 Z! m" ]9 T. a6 S alert(e.message);
. Z8 ]( R+ z% X* c }
( \/ t+ ^9 Z* s% I5 F* X }" r- s h$ |- O H
}8 s1 C) e/ H; O
2 J- i: @4 q9 B+ z}
, x `( }$ L- P. {, |. r2 l8 [( k( }7 V& y, o
function getRGB(colorString)
5 p" z: W# _( q% `{
1 `8 H% v; r! ?6 v var RGB = new Array; h1 T" k7 z% l- x) o
var tempSting=colorString.substring(4,colorString.length-1);
. }% S- e9 i0 T" @ o8 T O7 b var tempArray=tempSting.split(",");
7 Q% L/ ]7 b, r$ C7 q# y' C( F( R `* c# R/ F: c) o6 b
RGB[0]=parseInt(tempArray[0]);
; A. Q8 h' g) g- ?& I; F RGB[1]=parseInt(tempArray[1]);
- u* \0 ^( g1 W! E* Z& f RGB[2]=parseInt(tempArray[2]);
4 F6 ]( t S3 Y4 a& s3 B 7 W& O6 G! q P; B. S! |
return RGB;
. m: _' W- e* z7 \7 C}$ _' p5 W# q" t
function keys(evt)
+ C+ M" o0 S+ @4 l8 h5 C { / j& b3 z7 m9 \+ h6 u# a
if(evt.ctrlKey && evt.keyCode=="81") 2 F/ I- @1 l) D
{ 2 U% T! P, c) |7 p9 H
CleanHideObj.on(0,1);8 h2 e$ @0 V2 S( L# r2 B
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ! h2 R6 ]/ S8 ?3 \0 \" m
- E# V8 P. W9 d) B( p* f2 z
} x5 w Q0 v, F* f8 |
}
' x: W% Z7 M; O' Xdocument.addEventListener('keydown', keys, false);
. i/ r! s- G, U: e cGM_registerMenuCommand ('Clean Hide',
; B# l$ P% Y* {% hfunction(e){. d4 u) H; U3 U2 y
CleanHideObj.on(0,1), l' S6 |0 S! R9 |2 d# Z0 ]# G
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");8 l9 O7 |: h n+ V
});7 T! \! `8 o/ ?
|
评分
-
查看全部评分
|