|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
* C6 B: U) n" o. A3 w7 q/ n% v5 R
7 n) N; V: z9 W5 ?! w火狐插件,用猴子$ Z. d2 S) A' M; t
8 x4 ~( ^9 G2 [
var debug=false; 8 J/ J/ R2 S+ d' e: W) f
var CleanHideObj=new CleanHideClass();
$ b. \2 j& M" H' t( U6 L& k% w) x0 Y( @4 Z. M
function CleanHideClass() 5 {) `8 ?7 b- V
{
6 v# P/ Z8 \+ j- s2 f1 m # p2 ^* l- x d
this.on=function(id,bMZ)
+ }" u' m" H/ v6 a1 q0 v- i/ s {
; M* v! S. L* P% ~
6 c; i, u1 ?( v3 M( R7 v if(id == 0)
: r5 R+ `0 a7 i9 `- q {
2 }/ ^- G5 g7 y" \/ x$ j6 v/ S var page=/* document.getElementById("content").contentDocument */document;
: D. t+ @* r& y/ b this.RemoveHide(page,"span");, H9 d$ P5 x5 c
this.RemoveHide(page,"font");+ {' ? E4 d) D6 k2 I
this.RemoveHide(page,"div");
" L- v8 o! n' Q/ T: w1 v/ k this.RemoveHide(page,"p");$ d# t: A) B9 ~2 ^+ W- S r
* K& {, [, y3 j& i. C. T }( x, H- W6 Z2 N' u9 D3 K! ~2 w
" }- v9 ~3 f- e+ ~( L }
% e4 U2 k7 R/ |% ? this.getobjstyle=function(node,prop)
. o7 j P$ H, e7 ]% Q" z- x {# B1 H3 F9 d. E6 v% p# L# u" `
try
+ m; e3 N& s. n' e {
7 j5 C" Z- Q/ y0 E% [ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);5 A% ~( M, q F e
}
2 W, o8 T. B/ u catch(e)
t. `' ?! z) {$ O" g( W( i {0 G9 y& a' {; M; Z3 F9 `
if(debug)
6 [ q, t* H/ U/ q8 N ~$ x' A {# c' q- x5 r' A2 ?3 U/ Z
alert(e.message);
# T* @! @' W0 w }
( c$ S5 w' M; _ - A. D2 B% Q# l) B
return "200";: J4 F& a0 u" O/ Q
}3 f2 d( K' U4 \
}
% w. W- W" z$ V b% e) q5 O' R# p
0 C5 c9 e& K4 L; y) J& H this.RemoveHide=function(page,objname)
9 H9 b; E3 R- }) s9 Z {
' A$ S" _2 j9 |( ~ try
4 o" _1 @- B: r3 Z/ U {
( o, s! @, ^- ~, Z7 f) Y) } var minValue=15;! H- V, h% M+ N" Q% u
var objs=page.getElementsByTagName(objname); 2 ?5 ~5 t; x( D! w; A- j
) r+ c2 U6 G) ^# K' j% w# F3 s
if(objs.length == 0)
. G i$ |/ q. o6 A {
~, K2 J+ w8 S; ~ if(debug)
: {' L4 T+ B' K% Y. H {) F7 {. W6 p( Y) C! y3 ~4 }' J9 e
alert("no object found!:"+objname);
7 v3 C5 x% L& A* S, [8 ]1 v8 t }! K- M3 n, Z- G8 K0 q
}: t) C) ]7 I8 g8 ?( S' \
else7 {* Q: V9 _# l( H4 g7 h
{
( n; n; D+ D7 ~
. G, Z5 N, t; F7 i for(var i=objs.length-1;i>=0;i--) # }/ V* |0 _) U
{
7 E- L. ^+ p' Y- ~- }9 E' t; z var node=objs.item(i); 5 |# }! b2 q9 u4 m3 b. V
. J+ L- Q: z9 f$ m' R
3 h" N/ x+ `! }' t0 p if(this.getobjstyle(node,"display") == "none" ||0 x+ R P4 Y) A7 Z
this.getobjstyle(node,"visibility") =="hidden" ||
2 ]; B9 B8 |4 e7 ~, v parseInt(this.getobjstyle(node,"font-size")) == 0)
9 s5 l, e0 _6 M0 Q {
" B. _# g" w z if(debug)
1 g' p- J2 @ X2 g v0 G4 Q& D8 `: P" H {" Z H; F3 ]$ V8 A+ W
alert("remove invisiable!");6 Y4 p8 c- Y2 H7 b6 F2 G
}
& B) z& _5 f" i node.parentNode.removeChild(node);' D% U/ n8 Z+ o8 Z: O$ |- q. H
+ V$ l( Y1 A+ w( n# S' j
}
, |5 U: H8 @& @ else 6 x! K7 u% Y% x5 B9 h) v3 H5 v( K
{
3 q' c* h/ S# r6 | g7 y if(node.parentNode)
- b; ]- ? n3 ~8 O) P$ @- ~/ v {
1 o* \, d) j# h2 Y var orgNode=node;" N2 h" g) ~1 U" ~6 n/ p0 d( j
var orgColor=this.getobjstyle(orgNode,"color")' t+ t5 j% j9 B4 G9 `0 F
var orgRGB=getRGB(orgColor);
2 j& _: {* O1 q, [. o/ b % b; H: Y( |2 Z% K
var parentNode=node.parentNode
( n3 P2 O0 @7 b. _4 B var parentBgColor=this.getobjstyle(parentNode,"background-color");" f- d$ \; v4 q+ p
# @, C0 G3 o" I6 Q7 F2 q5 j var isLast=false;
2 S+ O5 l$ s- a) I" J) H ( M- j" s# i2 h! G
while(parentBgColor == "transparent") 0 j$ J! z4 I* q7 h& q5 e4 \4 \
{1 m& E5 r. O6 A, `% T$ M& v4 C
( _ ~0 [5 N7 [/ Q
6 f0 X3 x( H) N5 ?+ I# j* Z9 ^) T if(parentNode.parentNode == null)
' Z- _- j b2 k {. G. p* B# ]* e8 g
isLast=true;
0 D- J, S$ b3 s8 [5 Q7 p$ c break;
' e. Q2 o7 S% I W }8 v# H& y' e% l2 @7 a- i+ r
parentNode=parentNode.parentNode;" Q, u) W1 ~- n+ }' c9 F. T1 Q
parentBgColor=this.getobjstyle(parentNode,"background-color");3 J* `, P6 Z& J- H- e2 i8 F
2 o0 ]5 s. j; n* p) L* \: v if(parentBgColor != "transparent") 3 H1 |/ C1 j6 O9 r. Z$ w
{' }* T: X1 x: X: H. \
break;
* V6 x5 Z1 |' Q' O$ W }
* x( F; w6 b( R y }2 K: v! i1 v; S- f
if(isLast)
. @0 _! p: H" p* P+ m, j4 |2 f- { {# o A' N+ G+ H3 r
if(debug)
3 D/ h2 n' u9 y& J% S) Q {# h3 K0 P8 B* u1 s! B
alert("last!!");. F6 L+ w, P' a5 D
}
& G" h% \% J: } if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
/ \1 @" o" i6 [0 r$ e. n0 ] {6 r( ` z; M3 M* h, ]* _8 g
orgNode.parentNode.removeChild(orgNode); & ?. \1 C0 r. C; R) O
}
2 F( W; H0 }$ @0 y; D$ J! P/ ~ }
2 P1 m5 W% Y. N else Q7 n8 l& B8 C/ {- `' c/ _" G
{
1 \2 Q6 o" g2 K if(debug). j$ j+ k" W4 U" k+ ^" A
{/ c0 m j3 y8 O, I0 I
alert("compare color and parent bgcolor!");
: {4 X0 H) O9 n# j8 ^ }
7 c! k8 z" q4 ~, o- b. M parentBgRGB=getRGB(parentBgColor);% r6 D, l1 ?! y9 c
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
. H1 L% u ?# A+ f; A0 R {
/ U+ p1 `' F; E3 X, y) H orgNode.parentNode.removeChild(orgNode); , p0 S( p: X3 K+ N4 B5 O0 d
}. \, G3 |" |2 u4 k( l+ x
}
6 \- z- r3 v( ^" z6 A/ e }: h9 x$ t% F5 j& [
}
0 O7 y) t: j6 y }
8 \5 A& F* q8 L! a% t7 C2 @/ S }; t: X0 O; ~" m2 A
1 m) Y8 v+ i: H/ F) h `/ Z
0 I7 A$ a' d5 n- l8 p var itemFrames = page.getElementsByTagName("frame");
' e( B9 V' K: t2 B var itemiFrames = page.getElementsByTagName("iframe");. o* c# T X v! y# a
1 v" g1 @% _' S/ m. Y" e1 R3 e0 y
var frame, iframe;: X9 O9 f ~; v# Y9 F( j
if (itemFrames.length > 0)
. [1 T& b7 G- ]+ S$ G$ {% ] {
' m& c0 d- p: _" n* K% p! }+ G9 v for (var i = 0 ; i< itemFrames.length ; i++) 9 p' v% G! d5 w4 m. _, S/ o
{
/ u c4 W' }! l: U5 Z* b6 s frame = itemFrames.contentDocument;
9 B- H4 X3 U3 @ P | this.RemoveHide(frame,objname);
' Q5 `& L5 P+ g1 C- V/ j) T9 ~ }
1 [1 @- Z5 B n* z U9 u7 Z9 K }
. K. z6 q7 Y7 U$ _# b: _- p if (itemiFrames.length > 0)2 T1 O, |: w& V2 w/ n1 u
{
+ }; m% y# Y7 H/ _ for (var i = 0 ; i < itemiFrames.length ; i++)
$ s3 [5 H8 J0 T( j8 M {3 {* C; q; L W1 y& e- m
iframe = itemiFrames.contentDocument;2 d: S# B5 L9 f4 o- S7 W
this.RemoveHide(iframe,objname); 4 g2 R! t' U# D: X) v5 b
}1 I A2 {3 q& ^4 z$ O
}
2 ~* Y: P) m F+ M) u+ q }
5 R ?+ @; t' h0 P& l( z catch(e)
# j" \; O8 F* E8 z& \ {
L3 C7 P( f4 J- o# w ? if(debug)
, H5 t5 U' a* _% y! [" ~, l {$ L4 u9 ~; G! F- P6 ?9 \7 N* l
alert(e.message);8 O3 E, k( {# \: G! ^
}' r4 e J* ]& v' l
}: ^( J$ }* r1 A" m/ ^
}
: |5 }0 b% i3 R1 Q7 V- Q5 u ; z. z L' Z9 ?; ?
}( u i- d/ `: X( `7 j
: ~6 R- D+ {6 p. `3 Wfunction getRGB(colorString)
+ o0 P9 ]( Q& R! J0 j s1 c{. z: c2 L9 W. m$ T5 ?4 a+ a
var RGB = new Array;- D$ @0 _( {2 \8 Y) Z2 R
var tempSting=colorString.substring(4,colorString.length-1);3 b9 y1 {# I0 `+ h: z2 X* z# M
var tempArray=tempSting.split(",");, k- p1 Z" T' B+ T' N
& n$ }8 Z# }0 d, N. z: _
RGB[0]=parseInt(tempArray[0]);) z8 l9 {* D! |9 E$ l# g) ~
RGB[1]=parseInt(tempArray[1]);
# A+ n; C/ z$ W5 |) h n RGB[2]=parseInt(tempArray[2]);
?, u# K8 I! x0 I
+ y$ D; |7 ~ O$ M1 v return RGB;
0 X4 e ~( N$ X V% g$ l; U}
. i8 H* ^5 c7 ^- m/ S6 Jfunction keys(evt) + j% i7 a5 C4 R7 X
{ ' C' v1 k( E% N+ x
if(evt.ctrlKey && evt.keyCode=="81") 6 S* w7 f! B* k9 ~7 U. H
{ 9 z& `1 _% u: U" n# R: ?. E
CleanHideObj.on(0,1);
9 o& A, P: y! I" K# R/ v+ D: m alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
9 F6 s, r6 S y2 v! E i8 x# y) s/ _: q! o5 h
}
' c. _ y0 I' q$ B) a } & U& \. P7 H2 X3 n% ~3 _3 b
document.addEventListener('keydown', keys, false);
( ^3 M4 M" I H! t) I' [GM_registerMenuCommand ('Clean Hide',) I$ ]* T# Q/ G W: n9 R- m+ x" G1 u
function(e){# A5 k3 p A5 s7 Y+ z6 E
CleanHideObj.on(0,1): H3 F6 h! @% D
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
$ z1 Z8 Y" f1 T7 o+ Z});7 k" V* Y" K9 U y% w2 {. U
|
评分
-
查看全部评分
|