|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
) `! Y+ B1 n. \6 z2 r3 _* C: Q# Q' w% x
火狐插件,用猴子
( u2 m: i$ k T* C1 q/ t% l1 ]
8 s( |2 s7 y1 dvar debug=false; & U; A7 l( z/ u: a6 z% J; b
var CleanHideObj=new CleanHideClass();7 w2 q6 [0 g5 R V. w
9 G7 ]; {/ M/ x7 M' Vfunction CleanHideClass() 8 K4 q) _! J, F* m$ ~
{ . {6 |% N! L+ _7 @
1 _6 Z8 M8 @! P* m. F5 a9 g3 f this.on=function(id,bMZ)
/ J; a& E3 p6 ^* x {
8 x: C1 }8 H: T8 ^ ( A: s7 P! l2 Y: Y) G
if(id == 0)
* [$ p" S+ J2 l- D4 i {- }( V( u* ^/ D# ]. R/ y
var page=/* document.getElementById("content").contentDocument */document; 3 ~% s+ W$ r+ W2 y/ P
this.RemoveHide(page,"span");
. D' R2 K4 ?) z# Z$ x: Y this.RemoveHide(page,"font");
6 D L: S4 {/ y) f; }6 ?. B; d this.RemoveHide(page,"div");
2 u3 ?& e3 L9 B: n: b) o+ O this.RemoveHide(page,"p");
]1 W) p# U- W' t
4 S. g- k% a7 H }$ Y! ]* y K g M% Q4 T+ R
* S6 X* j& W2 f, I( p/ T
}2 R1 X3 h7 J) f- V
this.getobjstyle=function(node,prop)
2 D+ U: D& s/ z$ O3 d- q* h* K {1 S9 o& c$ f* w
try
6 w V$ y1 D$ K; A! G0 e+ B/ W {, C, _2 n& ?" F, m" C
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
1 R4 @) z% ]+ O0 u- o# S$ @ }
3 o X, v2 y* N _1 k* |- ` catch(e)
- q! S7 i7 z( \4 S {
, H- `( O6 W1 u C( E if(debug)
7 r C( t4 R) B0 V! f# A {+ ~0 F5 B6 O/ ]3 W
alert(e.message);1 B8 Q* W l. g0 J1 O
}
+ N+ y, v9 m; o ' y7 X1 n5 {9 G/ B' u
return "200";$ D7 Q. ^$ F1 k" W0 N7 i) V
}8 r+ j5 g1 H+ M
}
2 k* h7 u `- |& y; J! }, v) }; d 0 A# }2 H$ G8 ?0 v" e. c$ \; n
this.RemoveHide=function(page,objname)5 _; f6 |0 K$ o. w1 i
{
0 Q: |1 D. [; P7 P* {7 F: j try
8 Y+ L" H, E" @5 p {
3 z+ P, O9 s! B( C; R( f2 g var minValue=15;
( Z0 H1 O8 x" i# r8 e9 `7 o6 } var objs=page.getElementsByTagName(objname); ' [* W: ?% @& H2 k: K
4 T# ~. ]: I: j+ J0 ]7 K7 O/ q if(objs.length == 0)
e: k' U# r4 i {
6 i+ `3 a. c/ s7 z5 d+ q if(debug)$ `6 I# `5 X- m A8 R* s6 K" r h
{1 a1 Y) ]$ m. `) M6 |
alert("no object found!:"+objname);% h `* ?- ^' H) t) a1 B' ]' N( b
}, R" E0 E* y6 |2 g& ^4 Q; V5 K3 N
}
! J+ T! x: y& {) w( o" `/ _ else6 ], g- P* C6 s: ~) |
{# F5 C/ h0 j& U% M4 y0 n5 b
* k, }5 _5 @% ?# s! M
for(var i=objs.length-1;i>=0;i--)
2 b/ K' H' ^) i$ b; V* ?" ^ {
, C- y$ b+ ?/ ^ var node=objs.item(i);
# b+ d: e1 O3 ~
3 t$ i) Z' p3 v+ | . U% g; t' ^: _; L. `
if(this.getobjstyle(node,"display") == "none" ||( \) @2 G" V( v+ k3 B% N" k( b
this.getobjstyle(node,"visibility") =="hidden" ||( T8 V( I. M+ a; B
parseInt(this.getobjstyle(node,"font-size")) == 0)
8 H3 u: n u- {& V {
$ x9 R4 s- ?' Q if(debug)
. [/ T4 {& d% k* u* O' _ {
" x* h" H& {/ `: V. P/ ]+ J( K alert("remove invisiable!");. g1 a2 i* n8 H
}
$ P1 c' [8 T; A3 I: _; H. R node.parentNode.removeChild(node);$ I& G" w9 B! C5 x7 a$ ~9 L
% Q0 W9 \/ u6 W' g$ C% `. `8 T/ [) v8 o
}
: p# T, ?, w) i+ u( \ u else 2 |& |0 U# L' c" m+ j/ g" F$ b# }
{" y; A: t/ ?" T# j
if(node.parentNode)
& G- r( {- H; ^0 ?4 R {
$ x& H/ y& I/ I, K var orgNode=node;
x, J$ S. M4 c, W+ y7 f6 F4 b var orgColor=this.getobjstyle(orgNode,"color")
% X; L2 d1 O. b6 j) ]' a var orgRGB=getRGB(orgColor); 7 n$ G7 J. K' O
r8 l4 \, R) |1 Y) j8 F1 ]3 U- {5 q1 F var parentNode=node.parentNode
6 K2 ]5 }- t5 m2 y% R1 j2 r2 O' m var parentBgColor=this.getobjstyle(parentNode,"background-color");
4 [& h" O& ?) Q" V5 @# S
! a4 y: M$ ^: Q' x6 n var isLast=false;) y+ y0 p# J# @ n5 b; ~
- c' W. I- Y4 W D while(parentBgColor == "transparent")
- E1 b8 o- x3 z7 O {3 p! B! M* Q( v% j1 M
1 A+ j, e" |7 Z4 D' S* y 5 t2 z( r! W) U
if(parentNode.parentNode == null)
3 D6 \+ C* E' U, O: O, v {/ } f1 B8 c* s `9 I9 \) E A
isLast=true;
) M/ a k' o/ `- O break;/ z! m: I& x6 g0 A
}
! o, E8 l9 \ @" | Q6 M parentNode=parentNode.parentNode;: [4 t) n) b! p. r
parentBgColor=this.getobjstyle(parentNode,"background-color");
0 O" ` M( h+ v i8 U# S
: x- T* q+ x1 N; o if(parentBgColor != "transparent") 1 `6 A+ Q, T x" I" P: S$ v' I5 w: B
{1 |0 U' z9 A7 l9 U$ b
break;
% c( F* |6 V& B; t* m }
% U# W1 X/ P0 Q. x$ F! k }
3 k6 J, }- P7 r: L if(isLast)
4 M2 a* I6 s; N; j! I. r {/ C4 k2 e( ?0 P. F: \+ D, ?
if(debug)
' R5 N4 ~0 E9 S9 I6 G6 t) |$ T- ^# @ {
$ }, g: u! b1 {* ^3 a alert("last!!");
" [5 i4 i6 M( j' K7 Q }
0 X, S6 |1 x) U9 B4 M if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
! H$ l( q6 X+ _0 s c {# `- f4 B" @$ G, _! S0 h5 B
orgNode.parentNode.removeChild(orgNode); 5 m! G. m4 O& ~8 \ |3 U, L
}
. K& ^7 L7 O5 a1 j }
% n& Y9 `$ r" j8 K$ o7 S0 p0 o else
- t( J# J) B b* K0 Y7 _, z {
+ r$ b8 l0 `( ? if(debug)' b9 Q! A* M( Z. t1 ~
{
* j F( x2 l2 F D. E4 f, _7 x$ @7 \; p alert("compare color and parent bgcolor!");+ P1 n+ h- s$ S# q) D! m8 g7 n
}8 L. s' Y/ i2 n+ L# z; e
parentBgRGB=getRGB(parentBgColor);: A6 h6 }& Q# @1 Q' U
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
# O5 ~% N+ \9 I2 T$ g5 @ {$ U# |7 `6 X& I2 R1 w( F
orgNode.parentNode.removeChild(orgNode);
% V. ^+ V6 F/ j( ]( y }+ X# x0 c$ Y) H, a# j6 [
}
* u1 F; _! p" Z7 y3 z! K( s5 a }
/ s& t# R# J: M" K) U' X M }
, o" L" p+ ^+ f }
# K* v8 K# p: j1 B/ P! ^ }
$ P4 O8 f2 i0 z! I# N( w
7 m1 |& L. L, D8 ^* e3 j , t, x, \0 L) O" i
var itemFrames = page.getElementsByTagName("frame");
5 W: A0 t; S6 P7 m7 O9 R var itemiFrames = page.getElementsByTagName("iframe");
' @0 q% W: f3 }: z8 B' T
& Q }- i* j! U% z4 u' d var frame, iframe;9 ^2 d3 M9 Z5 T+ b
if (itemFrames.length > 0)4 O: C# X- o4 a$ F! P
{: u* I8 Q+ O$ ~1 s8 ?1 M! G
for (var i = 0 ; i< itemFrames.length ; i++) # R1 h! } K: G6 P5 ]: X; Y
{% a6 l$ k" v. j) C5 W/ t
frame = itemFrames.contentDocument;
( g8 B6 Y7 C: n+ u: x/ } this.RemoveHide(frame,objname); / D6 L6 x5 O0 @0 o
}) j! h, ?( _9 I1 X
}
& s. q( @) ?: |. Q8 B7 e5 o3 C* m4 q+ V if (itemiFrames.length > 0)
* K+ F% d3 d# A/ p: E {1 `! p) o8 o. x2 t# S' C- I# h
for (var i = 0 ; i < itemiFrames.length ; i++) , e4 w3 @( V$ f- b1 o" v. Y
{
: a8 n$ b" ]! S2 E9 I: T iframe = itemiFrames.contentDocument;
+ g: F/ n7 _. I( F% B% T this.RemoveHide(iframe,objname); 5 z( u: x U5 ?$ J8 v ^
}
! e0 Z4 I4 e) m$ T- H0 E }" u. O+ h I* f/ k6 a# _
}# `4 b+ o, {7 G* L( a
catch(e)
& T8 d! k2 F6 V$ n; H: a( Z4 [1 ^ {
& o! \5 M- b8 O# Y% }% | if(debug)5 s" H: o' u6 U( b
{
K( _: h" S1 \9 a+ f( I" h0 y5 U alert(e.message);- p5 F% _2 v# _& {( ^
}4 r) l% I# Y) w4 @& j
}
3 {1 P1 U7 ]6 D2 d7 F }( ^5 K0 I" Z5 d! r3 A# A1 Y5 B
, u$ _/ G. d8 N( I2 U}3 A' o# R& A8 x6 ~. j5 E* z
# m, K, g8 T9 [3 ^' J& c' t5 r; x rfunction getRGB(colorString); V" ?' Q8 s0 P! k) h
{
1 B, V0 o% U% j, B var RGB = new Array;
& _: t4 A* {* m; ^9 Q var tempSting=colorString.substring(4,colorString.length-1);% \1 z) D/ [$ j. \8 @/ a
var tempArray=tempSting.split(",");
3 `$ b5 f4 ?& V2 n) J, }% E' J* y, S9 X* o
RGB[0]=parseInt(tempArray[0]);8 q4 {3 }! {& {' a+ L/ N
RGB[1]=parseInt(tempArray[1]);' n. j2 X6 H) [+ o$ G
RGB[2]=parseInt(tempArray[2]);
" V; ]! n% T. p$ E4 L( Z5 o) U
$ s5 ~% w' C" A+ ]4 ~# Z: } return RGB;
3 ^7 ^1 h' }: g$ @! ` f}
f1 S R+ v J* f5 wfunction keys(evt) ) ?8 g) G' ?- C+ _9 R
{
! u7 \, K( g1 H if(evt.ctrlKey && evt.keyCode=="81")
/ I! @0 x. P9 O9 P& Z! j { ! F$ ^3 ~3 c5 }* O' g2 ~
CleanHideObj.on(0,1);
' \& D; C8 h1 I alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); Z7 s, L! Y6 A% N7 B* d
" }/ G' j5 p! ^+ \ } " H6 w9 z; T( T- l
}
$ W% x' m5 X. Y5 C2 L \; P8 hdocument.addEventListener('keydown', keys, false);
3 p' T" z9 u# k/ C7 W n; cGM_registerMenuCommand ('Clean Hide',
8 P, m/ e, r# ~; x6 g7 E8 Y- tfunction(e){
& W; j6 G; A; r. @; UCleanHideObj.on(0,1)
2 N- W3 w! t9 V$ u, K( s( Ralert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");' a2 L* m* ?% f
});
5 R+ ]4 b5 J* h |
评分
-
查看全部评分
|