|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
+ G# ?3 t# e0 H L8 h" I, E) k3 ^3 G7 B, t1 {1 m0 G# b" L
火狐插件,用猴子
( r% R& S$ P% W M; I1 P" |3 ^. u6 R, |5 L
3 b7 p, p W6 O4 z% U8 Jvar debug=false;
$ j+ `+ ]5 A$ O# _, P) i1 bvar CleanHideObj=new CleanHideClass();) G9 a u4 G' j
6 B/ r6 b# F- `$ {, \, |* }0 b8 Xfunction CleanHideClass()
; |9 H7 E, v8 n2 J4 {{ + e% K0 T. Q% ?3 K# T0 }' \ ], N* L8 u& V
) u! A4 |( s' Y' {. K
this.on=function(id,bMZ)6 n; s; @; W8 l) G, Y
{. B* w) Z9 k3 e! ]/ A4 L
+ V I/ _1 t" }( A+ J& F( t if(id == 0), W+ W. q) l! I% D- k4 e, B
{
; y" n7 _$ B2 X$ b1 Q* W var page=/* document.getElementById("content").contentDocument */document; 5 |! O5 f' d/ h7 l( e
this.RemoveHide(page,"span");
+ Q( P7 p @) r' ^; k/ w! } this.RemoveHide(page,"font");
: E1 l6 Q5 U, [% V0 @! Z( H6 V this.RemoveHide(page,"div");" P- q+ s4 T' `. B) ~
this.RemoveHide(page,"p");
* V% |. T# N, a) X
' i8 B* i; K, z }/ L. E5 B+ L$ G
# k$ I# Z6 X! L C) @0 K1 w
}% q. C6 E5 }% G. B! b0 i2 s
this.getobjstyle=function(node,prop): v8 G Z: }7 ^" _0 i
{
, A- y5 N0 r9 C+ r& e% ^. l try y1 m+ d$ b% W$ N# f
{
; Q3 T0 z+ j) r, E% W4 |) h return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
; ^: O" W) v0 J; C4 n( [ }
& g7 E1 v: p* J catch(e)5 V- N* |/ Q- s- x- F
{( D' x4 B" E, j- m
if(debug)1 U# h8 i/ ?" `
{
- v/ r/ Q& ?1 E, O+ B# e% p) p" \( I alert(e.message);4 w, b( j8 f6 w; Y
}
& h' H; x! J8 R. X7 f6 X/ ~
0 k; i7 I7 c9 ~- h) p' | return "200";
2 R4 y5 k1 W$ z. X9 ^ }
9 q) o; ^% u( l* D7 b }
9 A C5 W- Z1 T5 p
1 C5 d+ C1 o( v. [5 g this.RemoveHide=function(page,objname)! _5 e% M7 M4 N' G, p3 ?
{. y& V3 o6 `. k8 w, X$ j& C
try3 M+ @; ]! m: g
{, {) I4 u; Z) n, J% E( B
var minValue=15;: D% x! O: M) G3 N
var objs=page.getElementsByTagName(objname); / P2 w0 N' _" S6 C5 X
; Y) V& S5 ]! E& V
if(objs.length == 0) 5 L7 R- E: g; D j* r: J9 ~
{2 R- y' v0 ~- Y, I2 ]
if(debug)* S/ J8 W. b2 c6 O
{: z) J8 T- ]; s2 B. |( v! H. u5 |
alert("no object found!:"+objname);
4 f5 P/ Z5 g2 _+ H1 c. e0 f }9 _3 l9 d5 s2 N" `( E
}) W. G7 a( P- R" f9 t: z
else
# n: O5 O( @0 Q, @' X {
% c3 t: E' }8 S( o6 C4 ~- g! B
# h, P, o, X9 R; v* @ for(var i=objs.length-1;i>=0;i--)
% T' M( f) B& a4 b n' }) i {
3 k# T5 n0 |1 c( ~ var node=objs.item(i); $ M0 Q5 ]" Z! P6 B0 {5 p
% y; j2 ]3 V/ d5 ]4 O v8 G
" R* j0 r' J k7 f0 d) G+ E
if(this.getobjstyle(node,"display") == "none" ||! h( r' c: T q$ t. W/ E5 G
this.getobjstyle(node,"visibility") =="hidden" ||
9 \' w+ r& P* g o2 M, } parseInt(this.getobjstyle(node,"font-size")) == 0) $ r/ ~. ~" _/ k9 P W
{
% \# Y- p. G7 V1 b; L if(debug)
7 A/ b9 N7 ]' C" t9 S {& Z: z8 I; |1 F: R) P( Z
alert("remove invisiable!");+ `3 L) p/ L) g( G8 I2 D
}
+ Z/ d2 p+ p6 R" N" g% v8 Q. I0 |7 W node.parentNode.removeChild(node);0 n: E2 j; c: h0 a$ e3 }+ j
; S- N% L0 e. L2 z( u7 f _' R }) l6 P' a% p5 D. o. y X
else " v9 C; u5 v. R" F4 M3 _+ i* [& W$ y
{( P3 e+ n" u- v" {+ d9 ^5 _8 o2 g
if(node.parentNode) . Y4 H0 d0 h, _! O* W
{' W8 B- o+ t6 }# I5 |3 d/ l
var orgNode=node;4 ]( I& k4 c" |/ v9 }
var orgColor=this.getobjstyle(orgNode,"color")( ]2 l: b6 Q0 f! _) @
var orgRGB=getRGB(orgColor); 3 M( b, w& ]% L; y- G: h+ b( |' N
2 y0 c( G& }# R9 ~; y& K) h4 i* X
var parentNode=node.parentNode2 V, W4 P) N& b, O
var parentBgColor=this.getobjstyle(parentNode,"background-color");4 X6 n: U' `9 f% F. I; m3 w
: k7 {' u5 }4 P0 ~& z% w o1 ` var isLast=false;
, o) t ~; \ x' N* J- S 6 s9 ^ y4 b$ X9 I
while(parentBgColor == "transparent")
A1 _9 ^3 m9 L$ Q* A( S) q1 @ {
, Y7 Y3 ~# c( ^8 [ + w R/ M9 g4 W/ r0 A
4 Y" z" A$ }& M& b if(parentNode.parentNode == null)
" _0 W- V3 o9 M5 A/ U/ c5 z% _3 ~4 O {5 l- w/ E3 v# X# n9 A" s9 j
isLast=true;& g" P6 _* m6 n' X/ x
break;
3 W" k* @' V, l8 m- ]* z9 O }
; X1 m' r' r0 Z parentNode=parentNode.parentNode;
) ^+ [* m& A" j# q parentBgColor=this.getobjstyle(parentNode,"background-color");
, T3 u) R$ I% X) k; i" r
: B7 x# S4 I4 g' V( {9 t' m if(parentBgColor != "transparent") : S, w3 M9 z& x+ P: L! o) h
{+ X6 G2 }, K- U$ N9 l
break;
( R6 o6 |9 O5 L3 q }
: s2 B+ j3 X: E& X" ~8 z% k- e }
' ?$ ~' T, H0 q% u% O s" q! q if(isLast)
, z; Q T5 A& h0 M5 R m {
! p$ Z7 P! c- z6 i2 r: M! V4 ^# P& H if(debug)
, `' E2 X5 `% y8 c4 q8 I' {) k {
) v' w/ [! K. a% J) @5 s$ ? alert("last!!");
8 E) z1 \( p" d }
( w% g) B7 P, ^5 k7 W, Z if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)); c+ D8 P5 W) @4 n2 E
{2 K4 Z3 E" P* s( e! K
orgNode.parentNode.removeChild(orgNode); 3 P6 ~0 x2 t9 D9 ^% ^( i7 E
}
3 ?( G8 b# @7 `' m& N' U }; c. C2 G- U# S: E% b- z/ I* P
else
: i3 o7 Y/ s- S7 ]0 o. G1 h9 h9 T {$ U$ R. m1 e f" N% |8 T
if(debug)
o9 q$ p6 u$ D+ f v {, L9 ~5 _9 a/ y! [* O) e
alert("compare color and parent bgcolor!");
. a+ ^/ A: p! X* z }
6 d% O. z& |3 h- {: L parentBgRGB=getRGB(parentBgColor);, C$ K- D8 S( D3 H
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
- f0 J- R) V0 ]3 n {
( u! ~) r+ P: s, m2 f orgNode.parentNode.removeChild(orgNode);
2 K0 ^* B# p' ^0 [" I1 W3 u }2 D/ J6 {! h; N* y
}! H6 X, s8 ^ ?- I. c* I' h }
}
, d6 M$ B5 C& q. S1 }( Y$ d } J8 X2 W( g! p+ D) J1 T& b8 @
}
7 ~% J3 m: o/ J* j2 j$ z$ {' L }
$ e+ g% d, d4 o. O
/ j5 i- J- O6 j: M3 ^5 ~ 0 y- {9 K: a0 o# h4 e
var itemFrames = page.getElementsByTagName("frame");
4 b, ]; K% U6 \% X1 }% ` var itemiFrames = page.getElementsByTagName("iframe");
* O* T; q! n1 P2 F5 m 4 y6 A+ ~: H9 f
var frame, iframe;. E( i4 c" ~+ |8 q
if (itemFrames.length > 0)& y2 o9 Q( |2 E3 X4 T
{+ q1 [" p5 Z3 Y( a
for (var i = 0 ; i< itemFrames.length ; i++)
- [5 b; }1 v3 T4 y+ q {& P5 F. n1 E! D S- ~% ~0 f6 u3 Q
frame = itemFrames.contentDocument;8 b( c$ p" [4 h6 d j
this.RemoveHide(frame,objname);
# c: R' N: ^# ]; r h6 z; n9 n }' Z1 |& i M" C3 O. {( D
}
; ?$ O6 Q6 k6 T2 }+ a4 f: k if (itemiFrames.length > 0)
7 ~* h+ [0 M \+ ` {' V! Y4 \& `' @ k2 _/ @: {
for (var i = 0 ; i < itemiFrames.length ; i++) 2 B+ [% ?2 H, ?4 v
{5 T) m% P% g3 ~
iframe = itemiFrames.contentDocument;) m: q# x9 }# o/ O- E7 R) p& r7 p
this.RemoveHide(iframe,objname);
' M! K" [* ~+ \ k- @4 F, W }6 n0 ?- U, X" A% v0 A2 g0 F
}
( ~5 ?$ a) i* A5 ~1 S" L }
; E. J+ y, p c' |. e1 C) t" _ O catch(e)
6 j* D- \* N u( }6 s8 o {# _' J$ Q9 o9 u0 F( K6 a7 ~
if(debug)( h$ O7 P3 l( C& L
{
# U) v; ], V: l2 [5 u alert(e.message);
% Z$ c& J5 j4 G: t5 I& ? }
% r c$ \, ~) o- I! G; b5 S: O9 R1 G7 ]5 | }& j6 E- ?' T' i/ J0 ]
}
! {1 m9 X- F8 y" r4 Y 4 x7 A' a" c, m5 J8 C: f- s/ q8 Z
}
8 @. ~, ?* K& [% y; X. q. p2 l. E0 Q, o' j* ]
function getRGB(colorString)# I3 Q( m8 B1 V1 d8 z
{) V* t# |( K( P( @! Q4 L
var RGB = new Array;' |) ~1 d( o3 `, L
var tempSting=colorString.substring(4,colorString.length-1);
- g* ~. b( _$ C3 Q" t4 S% ^ var tempArray=tempSting.split(",");5 v; O5 _* d9 ^5 }
7 L& v% x/ W/ z `8 k! F9 ?
RGB[0]=parseInt(tempArray[0]);
7 e. X& k/ D+ }& W: y8 @ RGB[1]=parseInt(tempArray[1]);
+ s0 V$ Z5 ~4 y! }# _ RGB[2]=parseInt(tempArray[2]);
, F3 P2 L% t% d$ l7 b+ `. I6 |
# `4 F/ V6 X9 S) k( a return RGB;
' R0 r8 H2 N0 N1 M, w}
% P+ [3 W8 C- T6 P/ ~4 afunction keys(evt)
2 l3 @8 r" K9 f O) | { 3 z6 T4 R% n3 _8 ^' K1 R# y+ E8 t
if(evt.ctrlKey && evt.keyCode=="81")
; k$ w0 | m& B! C0 T/ W { 9 ?2 C7 P5 d- q) U$ v! X- D& P
CleanHideObj.on(0,1);
: C* r$ S8 |9 w: f0 q& N: F2 n q6 b alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
' S" Z- w* y. Q ! N+ Y9 X/ P6 U v V5 K+ m
} : w- I* B5 }) h& h" J+ q
} & N$ E6 r! a& v( ?% X6 \0 {8 V
document.addEventListener('keydown', keys, false); 1 [" W& y% w0 l3 @7 f% N, x, y
GM_registerMenuCommand ('Clean Hide',( W6 [7 z8 T% q Y* w7 z
function(e){
( c; Q4 N" }- H WCleanHideObj.on(0,1)
, m" H' J* u. e: w8 c" V: t- z3 Walert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");0 x0 z& R4 U* M$ }" T
});
' C" \! K( z* v$ d, K4 o8 u$ G8 \ |
评分
-
查看全部评分
|