|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
6 x3 U' r- N5 N+ z& n; J+ O. z
: w9 S; _! ~3 c火狐插件,用猴子% [! K* o% ]! n+ @3 C
# N& C/ d9 h! w4 Q& _$ ^5 k5 Lvar debug=false;
2 U6 ~: Y. ^' `3 i0 _, g) l# g* B$ [var CleanHideObj=new CleanHideClass();+ P v1 }; O% J" x3 L
6 A3 ^+ l1 [! e5 f+ c: dfunction CleanHideClass()
" z# R/ ^. L$ V8 e{ # D/ A4 l3 P t6 m' j1 ?4 s$ i
1 R0 V0 K+ p) S0 X
this.on=function(id,bMZ); z0 b1 P/ h" i2 l
{' t' {( i5 J( r8 A* L8 U+ F
2 H! I( H- F! g' y; A4 H3 O3 i
if(id == 0)
0 o$ n0 b( k7 E- J {
% Y' f& l) @ e# Q var page=/* document.getElementById("content").contentDocument */document;
' u5 L8 m( s$ U+ r3 |9 M2 q' R this.RemoveHide(page,"span");
8 U6 I3 u9 O: ~ this.RemoveHide(page,"font");
3 V+ W+ f$ ~2 B1 |5 j$ A( J# h2 A8 ^ this.RemoveHide(page,"div");
9 X; i* c w, r3 p this.RemoveHide(page,"p");
Z) }! z; ?2 c0 p6 g % b, m/ x/ }( ]- V: Q9 @
}/ [3 t- G) M4 z; v# F6 G6 x) X
4 R9 A. b* C- _5 m+ l% F: n+ C3 u k }
, b9 r: i" D: P: K: v this.getobjstyle=function(node,prop): O6 I7 D) m- s$ O: _
{2 Y! V( [) T" g8 D7 P% G
try- j/ x$ a/ t$ q y6 k; a" S
{
! l4 B% ~6 Y) c7 a3 J return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);0 p: v/ k4 u$ v" K q: R
}
! @# V/ o: c' ^9 N& i* T catch(e)6 ?6 k% v5 y8 ~/ d6 z
{
! |% i! D' x4 Q if(debug)
/ E2 [$ n0 z* N- ] s {+ c. u" z/ d6 m1 A6 j
alert(e.message);
) X6 z# Y6 r% Z, x* O& _ }
d5 o8 t+ Z7 m, m! x( \ 2 P n# J1 f5 |! L8 D* f
return "200";# h: D" I; B- j6 k
}4 i; \; S( t' Y! X: p; Z
}
$ z" L4 h1 e- R/ m( v; }
5 x- q# n; H* L this.RemoveHide=function(page,objname)& Y1 D, t1 A# `4 e& l; v
{' d% G; _, I4 g m9 ?
try6 T" `2 F: Z$ ^/ g# R% w
{* ^3 K4 v/ F. e3 t$ U
var minValue=15;
- W, J, {, G! f: s1 n! h5 C var objs=page.getElementsByTagName(objname); 9 M+ J& o5 T4 T+ E
1 r; g& n3 H+ q( I) C' z if(objs.length == 0) [: J/ E) w( E+ n# `( j
{
2 Q( n4 P" S6 ^/ g5 T( J6 G9 l if(debug)" |' V! z9 {4 s+ F
{" F+ |( p$ [( e
alert("no object found!:"+objname);
) y) o: ?' \" m- A3 E: i: A/ e) \ }
5 a0 X0 }& r+ L; s5 b6 w2 T9 L }6 y7 ^, L/ W7 g
else
4 O5 _+ F: I5 ~9 }# J. {' g {8 g" S9 r: R! g+ a" n
2 ?4 \ L- y: [5 H* C5 w
for(var i=objs.length-1;i>=0;i--)
- w- ?3 d) v7 F {
/ f; q5 q9 _5 ? var node=objs.item(i);
( x6 l. m3 N( c# i . ^3 e% [( i, q% H) g2 ?
1 b: m! X. P; b! K
if(this.getobjstyle(node,"display") == "none" ||! e, V- l% }0 b* Z; ^: f# |
this.getobjstyle(node,"visibility") =="hidden" ||/ U( z/ C# C9 C: N* X; J
parseInt(this.getobjstyle(node,"font-size")) == 0) . J5 q0 [" E" `; T0 ^
{
! z7 ~! @% ^3 S if(debug)
1 F1 s! V4 y3 e& x {
: ^9 x6 s3 J$ W* I- ~6 D) u alert("remove invisiable!");
0 u. i& e& W4 [( `2 g+ b6 U V# j- p }: n0 d# r: M2 w1 v- w
node.parentNode.removeChild(node);
6 N( r8 s4 V& C/ i/ ^. @7 F9 L 6 e3 Y5 A9 E9 y7 }
}
5 U1 `0 V9 j9 Y# @% D else
- s+ z' q s* a+ I5 I8 v {
s0 o$ Y8 K+ E$ g. b3 Z if(node.parentNode) 7 H4 N q" m" ~5 z; N- r6 b* C$ H
{
, h+ ]0 H; z6 ^! S& b var orgNode=node;
$ \# M. \" L- }0 V% U8 r* x8 b- \ var orgColor=this.getobjstyle(orgNode,"color")
: o9 `' q8 \& L# Y6 d var orgRGB=getRGB(orgColor);
V) L1 O" F* H : ]4 ]) N6 P1 D0 f" N) d
var parentNode=node.parentNode9 w* u; W/ i" F% O: S7 j
var parentBgColor=this.getobjstyle(parentNode,"background-color");) @; p3 k6 V5 g P
) l/ ]7 ^% W j. k- \( u+ {0 N
var isLast=false;. b$ h$ h3 X: z& a% k
4 K3 u8 p0 G; T2 s while(parentBgColor == "transparent") ; I: G3 c2 S0 U& y
{2 A! U1 u5 F) ?. _8 d
# F/ v: W( D& X- t4 a
! Y4 ]5 E/ n: L8 j if(parentNode.parentNode == null)( |3 M ], j: x" x4 f% _' Q
{$ p c8 z9 c& P% R% d
isLast=true;2 ]! [( Y' G4 K. K" v5 F( q2 R* o/ N
break;
N" b/ o) B0 h l }
! ] A* y, w; b/ I+ Q* M( ` parentNode=parentNode.parentNode;
* B8 m, H" b4 H+ d parentBgColor=this.getobjstyle(parentNode,"background-color");. l& c( d" I' N2 K- g, `6 o! R7 r
& F! i+ C+ W( @7 W& y" C5 \6 E if(parentBgColor != "transparent")
+ J; H6 x1 d4 `% U6 c3 |( q3 w5 m) o {
, m7 N# `+ @% V% U break;' s& I( a# X( a) O2 g8 L& x/ J7 S
}
6 w& b* o% r5 Q! N7 ~! _* [8 B }
) |2 U P2 m3 l# w! F; ` if(isLast) + Y" y; i, E4 p. N+ s
{3 `9 y8 j0 C; s1 k' s+ O2 F+ W4 E* z
if(debug)
, F ~" S0 R. x4 ?. U {
, Z% `# @- S$ t- c- y/ V alert("last!!");6 ^+ _2 R: b2 N# X% {4 I
}# `+ n3 y- \5 C. n3 _5 _- S& s
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)). i/ k8 b" N. ]/ Q6 l9 l; f5 k, h
{% Y: N1 k! X0 [( n
orgNode.parentNode.removeChild(orgNode);
9 m- P, s* h& B5 \6 v8 f0 M }; I) ]1 [$ {0 k- I" u* }5 Y. ^
}. }8 ]- d; \% O, P0 A
else Z7 a" r, F( Z+ Z/ \
{! a$ {- N+ z9 a
if(debug)' w$ p& k' G5 h4 r
{
& b& z( m8 {6 @: k2 u: g4 W alert("compare color and parent bgcolor!");: L) b' l. ~1 D, u2 o. S
}- m/ [6 `8 D: |4 N
parentBgRGB=getRGB(parentBgColor);/ P$ y" i5 K" K+ R% n
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
' [$ K1 |! b: W' a' e% w {; e' A# M# ]% E% p3 m
orgNode.parentNode.removeChild(orgNode); ! C" X6 D. U" U: H6 `. H
}: R; C |% p/ s& I$ @2 w `( |
}7 ` ^" v0 I4 v4 K& g5 D/ p
}- E. j3 c+ x8 N* }
}: _: M, ~& O% |1 @- B5 y
}# e$ V% H; U0 M8 D# R
}5 G* `3 E) V6 K, ]( ~0 `$ i
" q( [9 ^4 n; b% K) `6 L0 Z! g
0 w G5 V1 d' m+ h' p' Q1 Y
var itemFrames = page.getElementsByTagName("frame");3 _6 |! V$ s. i- u
var itemiFrames = page.getElementsByTagName("iframe");
% J( X2 Q3 F- |" B6 ~$ ` * _* ^! B& Y1 i8 U
var frame, iframe;
& x2 j' \. Z. q if (itemFrames.length > 0)
F' s6 S O, | Y {
7 N! o# h4 L2 c5 y# i) [+ K for (var i = 0 ; i< itemFrames.length ; i++)
6 a# f' f% B7 N% B. | {3 ^7 u% l: \( Y3 J9 p( @! h% P
frame = itemFrames.contentDocument;
# a/ z1 ]0 ~1 c$ C. F% C+ F this.RemoveHide(frame,objname);
; ^/ s1 t: u& n1 T; S, f }6 g+ Q) f& z8 q1 [) z
}
9 w7 P' v4 Y" M- K0 A7 W if (itemiFrames.length > 0)
% B4 p7 ?9 {( Z" j- n4 M( b {
" N$ k! G. _( i: {3 F8 O2 u$ X for (var i = 0 ; i < itemiFrames.length ; i++)
* g( C: w7 @0 ?" N: @: \ {2 P- n+ g0 @. T
iframe = itemiFrames.contentDocument;' u/ G% S- Z5 B1 Q' E N- [
this.RemoveHide(iframe,objname); & I% S: [3 b9 x3 c+ S' B! _
}- G0 Z$ t9 I5 o; o0 L0 k; k9 F
}
5 C- k+ y, j, ^& A: k( q }
: b% E# F. ~3 s& X/ | catch(e)
4 b) e: d% E8 P {8 h; K$ v- X% y8 J. q
if(debug)
( r0 B; _% a2 F- h$ o {# `2 J8 y3 y* Y
alert(e.message);
$ B- j( r- H2 v3 }! B. |* y+ Z9 d }. c. y' Q* h) H. z! g9 x, v
}
( r! l2 w, Y5 W+ S, b$ q$ D* M0 _ }& U- k, P& p7 x' A
$ _# W4 |' }7 \- m3 y
}; ?/ z) }; [, d: J) V& o8 u
- L6 n; _9 ]; S( |2 w4 f% I0 ufunction getRGB(colorString)
4 w* _: r2 _3 ~5 S% a{
6 A1 b. p. F3 i: P: D; a var RGB = new Array;
7 y0 t4 g# {3 b: l+ ~ var tempSting=colorString.substring(4,colorString.length-1);8 C* m2 r2 B2 D
var tempArray=tempSting.split(",");, i. {8 k2 ~% \; p
$ f! K( o# G, i$ ^$ p* F RGB[0]=parseInt(tempArray[0]);
+ D, w4 S$ z( k& p$ w9 C RGB[1]=parseInt(tempArray[1]);: ?0 `5 _$ P7 E: z1 [0 A, D# u
RGB[2]=parseInt(tempArray[2]);
' w/ V o0 C8 A- }3 s4 f# e 9 E* y7 J3 L x- C; l/ X! ~! s
return RGB;9 w6 `# H" l/ W, g. Q9 ^
}
O2 K4 n( I: b, Hfunction keys(evt)
7 ] ]4 O' Y2 |6 e { 7 ^9 c8 \6 L* i1 X: E8 r2 u8 y
if(evt.ctrlKey && evt.keyCode=="81") $ p* ^' X9 L# S, U9 I. H
{
& O( ~7 I4 j/ e2 J" E3 q4 n: P CleanHideObj.on(0,1);
; S8 l5 f" r# s; E alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
4 v: ?/ H7 I' M1 Y0 d; n
- [: H5 V. F- r( R) n. [3 x- N } - C# x. l& Q/ U& P8 m. z2 W
} + k" d& c6 k# p: Q
document.addEventListener('keydown', keys, false);
* w+ R' b3 v4 U4 sGM_registerMenuCommand ('Clean Hide',; n6 n/ d: o& a' @( M
function(e){& k, ^" h; ?# P; v6 X. D
CleanHideObj.on(0,1)7 K5 c5 ^7 g( C3 f3 g; U
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
1 b8 Z& Q7 i0 S# w C6 p});
0 s5 G0 ?2 l1 n6 U' I5 P# x/ x2 [ |
评分
-
查看全部评分
|