|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
, d) l$ l+ x; s2 Q$ v2 ?. }: k, W2 N
火狐插件,用猴子6 p+ s5 [6 s( T- h
/ o" D0 n8 D% S% x, ]1 \3 w7 _var debug=false;
2 I( W1 R+ Y5 g0 I" r8 cvar CleanHideObj=new CleanHideClass();
2 U4 V2 H+ o+ h9 W/ [
( p) n0 R- c' P% m% a; u$ ofunction CleanHideClass() 5 Y4 D% W0 q) B6 {; P& J2 ^( _
{ 5 z1 K9 K1 m$ m7 n/ u
( O7 S9 `$ s8 x this.on=function(id,bMZ)# I; m0 \1 m4 @# P+ S
{2 q4 `8 {) `8 c6 ?6 v6 o8 H$ d5 |
, B& M& G, w* a) E' c- m
if(id == 0)' `0 r% B3 g( t; j7 U
{
) z0 W" |! `7 ]3 U5 X var page=/* document.getElementById("content").contentDocument */document;
; W: q# a" j- g this.RemoveHide(page,"span");& G+ i/ A+ S) Y. ?
this.RemoveHide(page,"font");
& b; S3 O7 P1 j' i! m this.RemoveHide(page,"div");
. c, S' t& T- T8 ? this.RemoveHide(page,"p");
9 g8 I2 d2 ?! L$ z7 P1 M& T7 i" i
% g& l& J6 m( u5 H }
: b: R) }8 s" v, e3 q8 } : }6 t" Y' O0 X1 K6 u
}( ~! ^- D% d" H2 J
this.getobjstyle=function(node,prop). }5 i- x1 \, E2 S
{, Q# ^/ b) i* p$ b
try$ E# E1 D z y7 Q* Q
{, e# y; {! u* m. G/ C9 W
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);- {5 o% ~/ Q. e( N! Q
}
* i6 p/ R. j* M" v2 O# ^8 X catch(e)$ m, i0 g4 B3 p- O; p: ^' L
{
# z, r/ r5 I0 E* n- v if(debug)% r8 o" @4 E. t% R
{5 O5 n2 }' A6 ?8 R9 G* f
alert(e.message);
9 t9 M2 T' Y. D# V }
; ?" W; n) m' e( t" Y W8 Q) p
2 |0 [! d6 U8 j8 K return "200";
' ?! x& V* B) R/ M7 O+ Y& V }/ Q: n* C# u% H3 f- d- q, N: x" e
}$ @1 A Q; x3 H; v. p* J/ Z; ~9 c$ f
6 H% B5 O" y7 c/ E2 G$ ^ this.RemoveHide=function(page,objname)! D3 ~" a) G/ |/ T+ i1 ]
{6 n# x1 D$ a1 g
try
' J5 j8 e" ~7 n6 G2 [& M" M% j' F {
" h0 D: i: _$ b! s& v( n, Y/ B1 B var minValue=15;* Q6 L8 k. }) f. t, D- b3 _
var objs=page.getElementsByTagName(objname);
5 w0 C( d8 [- k
2 z$ @' L3 M5 N$ D r if(objs.length == 0)
" n8 G- _- ]& s& c {( [4 p& I% f4 |, c( q
if(debug)
/ w* i* h4 R V: d1 F# A2 E+ Y3 C {
9 \* F. x. O. i% Z alert("no object found!:"+objname);
3 E1 \8 L: V% Z6 y5 W% ^9 n }
) u% q3 Z* d( P7 f }) j0 I& h4 O- _$ v" D. \
else
* M6 W$ @* _9 {( R {; d" j6 H& L7 E5 v. P1 E: K4 |
! G" r( j7 h9 @5 t* S/ g" J for(var i=objs.length-1;i>=0;i--)
, n$ H# k+ h D, ?; K% j* k {
" U m9 i6 r4 V# l4 ^9 t6 ?" k3 T var node=objs.item(i);
; O* u7 K$ K7 _; x& i9 ` ' y4 J |/ I9 k: B; c
7 Z+ |" x3 o) o7 T8 t if(this.getobjstyle(node,"display") == "none" ||' |4 [8 }& L8 K1 o7 Z) e
this.getobjstyle(node,"visibility") =="hidden" ||+ f r, p/ J# M3 l) \, K
parseInt(this.getobjstyle(node,"font-size")) == 0) 3 {! C4 t' A! K* a1 E. M
{
J7 W+ k+ I5 }- @" l( G' k if(debug)+ h: Y l+ R* l5 f
{
3 V: r" X7 Q( f1 v9 ~! W, |! P alert("remove invisiable!");+ ~, j6 G+ u4 |- Z$ f& k( t" E
}$ ^( q+ x8 R9 N9 \3 K2 M& w
node.parentNode.removeChild(node);: Y' I0 n% E1 K" ?/ [% U
1 F( N$ m. y5 [4 X; \5 B& R# h2 \ }
* `4 b# `* y" X. d9 u& d6 v else ! O+ \: T! P/ q# q2 A, ^ b6 Z
{
6 ~( I: n9 N" Y0 ~ _3 T if(node.parentNode)
7 d7 p$ R1 j' N# h" o% V6 w {
( |+ m! T7 k; U: {! W var orgNode=node;
; V3 B f2 S- K2 i1 f" q, a# C var orgColor=this.getobjstyle(orgNode,"color")" r1 P" m2 q6 r8 d3 @/ g
var orgRGB=getRGB(orgColor); 3 Q9 L1 E, g% R" L
- G6 g! `' r* c var parentNode=node.parentNode
6 T7 t; X$ E" x var parentBgColor=this.getobjstyle(parentNode,"background-color");8 D& S8 p3 b) U
- w, S' l3 ?; U, H, q( S var isLast=false;
/ ]7 j* A- J% Y: N4 v5 A, m " P$ P: a0 n; u7 @- Y
while(parentBgColor == "transparent")
7 Y0 T1 @: S# J4 O/ A {( a& y" w- E; k O% ?% C
" j& C8 d( C% ^" i7 v _ : E' F/ Z1 H6 b" y, d
if(parentNode.parentNode == null)+ u0 Z: a6 Q! x, {; l3 |# q
{
3 D8 Y- R8 Z1 g* o isLast=true;
+ K( ^) f% G# Y! w* p2 b9 ~ break;7 s, u1 U+ ?) N0 R; ^; t
}
# j* P7 I& m8 o parentNode=parentNode.parentNode;( o; C" f5 O1 ~. W. ]8 S1 M
parentBgColor=this.getobjstyle(parentNode,"background-color");
* f5 a/ m9 z! U( X; P: b5 T
2 H5 B6 x% W f* L# o) x5 P/ { if(parentBgColor != "transparent")
% o* Q6 p5 ]$ q8 i4 f {
5 p# e p; P7 ~0 D3 k break;
5 u& v+ ? ~* @$ P+ L2 I% e }% w6 d) {3 m: z: _3 H
}
6 {& P9 L8 {) u* t( k; \8 D if(isLast) % H$ [: z. ?! t; _- K- S! B% X
{% R7 @) f& B, X
if(debug)( W7 `, E g. i4 a$ g0 m/ y' u
{' Y; B! f( k" b' w5 N% a
alert("last!!");
1 w; b6 o0 i9 m- t$ J- n }
8 b0 B9 z5 N& t9 W) i9 V if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))2 s9 k6 p; N* a4 t
{
9 d& c1 e1 B- b: P orgNode.parentNode.removeChild(orgNode);
# I5 L. e ]: d9 ]- T8 b }' _" ^! D0 Y8 P8 @$ i: {3 s6 `; l+ W
}
$ \" O# U9 L7 f3 T3 o% |& K) Z, k else
4 g ]/ i) a2 A6 } c& E. O {
' y$ ?: H* x, Q. m1 J8 F. k1 ~4 N if(debug)# Q5 R/ R5 W/ ^3 H7 E: E
{
) m8 c6 ?( K0 T2 k; [ alert("compare color and parent bgcolor!");
7 j# B+ D" l- [7 l- W }" b n7 ?6 S/ d, A% n3 [
parentBgRGB=getRGB(parentBgColor);
6 ~- x- C1 \9 C+ e Z if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))& ]) K% d3 ~7 u3 Z J; W
{! x" j9 Q& a: Z2 C8 W( r9 T7 r
orgNode.parentNode.removeChild(orgNode);
, W* D) _6 X+ p9 @ }1 [, m5 [+ y9 i3 Y8 q0 m F- p! e
}
8 G$ P4 ~0 t( d2 p( } }
* b4 a5 n, a- `8 d }: y+ P9 S; s( M' ^
}! d7 m0 |) e6 X4 @8 N, m
}
2 w' ]/ W2 L9 J6 F. c/ h7 b
% R5 i- `% I, P; }4 Z1 v( @
: g. y3 G9 W' \) ?& {; j2 p9 x var itemFrames = page.getElementsByTagName("frame");
9 K- I5 K% X$ o6 K4 f* t8 w) D8 q var itemiFrames = page.getElementsByTagName("iframe");. e4 { n) y; D3 Y/ X$ `- P
) e1 t1 {4 z( L" O" i! ?0 h var frame, iframe;
! y1 L( e" N5 B$ Q7 D0 {+ | if (itemFrames.length > 0), B2 Z8 Q! U8 m: o. M
{7 b+ {+ S2 t. f
for (var i = 0 ; i< itemFrames.length ; i++)
" g9 Z0 ]2 K3 w' a J4 W+ P {. w( D. u6 q! @$ k7 h5 b0 s
frame = itemFrames.contentDocument;: Y% h( M$ G0 a. G% a/ w! O
this.RemoveHide(frame,objname); 5 ?1 x" |9 t6 h( I9 ^
}2 W: m1 P$ j: m; y/ p
}: ~% z* f2 H- _, e+ @' J; Z& e/ ?/ C
if (itemiFrames.length > 0)
# g& i! K- N. i8 m) k$ \- I8 B {5 X. I( p" k$ \3 ] V
for (var i = 0 ; i < itemiFrames.length ; i++)
$ x F3 @4 @6 v. g; A- Q {5 W Z2 v. b4 t$ M
iframe = itemiFrames.contentDocument;& A/ z& v' l& {+ ^% T7 W. t
this.RemoveHide(iframe,objname); - k: N4 T& P c$ V1 t5 D
}
7 D) K4 @$ c- ~3 J; d/ j3 g% g( c }
5 g, ]% h7 q# d; O" m2 o9 h9 C8 } }
) I% b5 ]- c/ A6 K catch(e): | U; f$ K- R
{
; b4 p5 k' o( x9 | if(debug)# a% Y7 X2 }4 C* p! [, s& u
{
( Z4 M/ @" Q% j9 x% }6 _! n) h: } alert(e.message);
% c. m4 ^* N5 { \ {( m! G }" i/ D. [+ v+ c ]$ o, C) Q2 F
}
" L9 ~! q3 j# k) k1 ` }
3 U4 ~$ k- s0 N/ |% l
( E( p6 Q2 f$ W/ M" J2 r0 G}6 Z4 D# O. b: p
5 Q6 R, e+ Y+ Z* C, G& k) F% n
function getRGB(colorString)
1 _/ c { n6 m1 G: C{
, Y# G+ T: U3 W) `/ W* p var RGB = new Array;
% o& n. `4 }! W; a var tempSting=colorString.substring(4,colorString.length-1); y! _( i0 A3 T X& s' z
var tempArray=tempSting.split(",");2 h4 b; ]# m9 a( e( v+ w
) t& }* Y0 o3 M2 K! U RGB[0]=parseInt(tempArray[0]);- c W4 O- U N% O
RGB[1]=parseInt(tempArray[1]);/ u" t6 b6 D& u
RGB[2]=parseInt(tempArray[2]);- B% Y. A; c: @# w H9 E
9 z8 X8 z! ]9 r1 Q3 ^ return RGB;3 m- D& P A: E& Z6 s
}/ T( \2 ]% l6 w% j9 n
function keys(evt) , H& D' [* O; X& q5 `
{
% H) g l) Q- h7 `# O' \$ c if(evt.ctrlKey && evt.keyCode=="81")
& p0 Q( z' z1 \2 i& g; g { ( ]2 B! M# x& i$ x& D/ i9 r( y2 M
CleanHideObj.on(0,1);5 ^! D2 I! n5 `4 h: t7 D
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 7 ?* ~( f9 k7 c2 l5 D
7 B* l: o" i5 P- _ d
}
/ l0 F; H: ?8 F7 s3 Q }
4 p2 n! U+ J* cdocument.addEventListener('keydown', keys, false);
! U6 c9 ]- D4 B4 ]4 t! O8 n8 w: ~/ bGM_registerMenuCommand ('Clean Hide',- Q1 ?. \: E5 {+ @5 s
function(e){1 m6 h2 n5 V4 V+ W. x4 I$ B' a& Q
CleanHideObj.on(0,1)
/ l! R$ g% z/ ~5 N1 ealert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");) O' k7 u Q5 z- V) v3 @) T
});
* H* R% K8 \4 l/ \+ n! D5 A |
评分
-
查看全部评分
|