|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
6 a/ ~ N6 N+ o0 z+ d6 K/ R! Z1 Y4 m- {& }/ c3 r
火狐插件,用猴子0 G; } ^% G3 J6 o% G0 X
7 T# k5 L( t! J3 _! ?7 a
var debug=false; 2 q" [9 ?" D/ l4 e% `* R* E
var CleanHideObj=new CleanHideClass();5 f3 ?6 v @2 U
" y! k, K+ |3 o, F" K9 u; n
function CleanHideClass()
+ y6 ?5 T! J" ]7 q4 m" L{ 9 {# L7 g% j; D
' y2 R( n5 D1 e1 G/ h
this.on=function(id,bMZ)) `( q) e! b8 j$ s6 D X
{
% ]+ U" I2 x# {$ j: O
2 M- E1 `% T) o$ i; Z if(id == 0)/ L! {- E! o4 r4 p. k/ S% ~
{
, R# G4 Z, \0 u) F2 ^/ U0 U. w) j var page=/* document.getElementById("content").contentDocument */document;
5 C; _# R: D% [$ ]' z5 q this.RemoveHide(page,"span");0 e1 F8 _" y5 C. L! B1 J+ J
this.RemoveHide(page,"font");3 ^& ^9 u/ G" R8 s" h
this.RemoveHide(page,"div");3 ]! l% Z- I: k$ n X. R: v
this.RemoveHide(page,"p");
0 W ^. W2 T+ n# B4 J
4 m7 u' c$ Z6 S" e5 K }9 s. f' L/ m* g- _
" a _0 b' ]1 {$ C } {2 m+ g/ R& h, ~: d
this.getobjstyle=function(node,prop)
+ I9 K8 E! q- r# b* L {6 P9 g# Y/ v9 o3 I* Q
try+ H/ g4 H' \7 Q7 c* X0 c! {) p
{6 \- i7 A8 z9 |
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);. }3 y' m: e1 `. d4 i3 a. O% t
}
P! z$ ]. P3 J5 x. |* q catch(e)
! v9 N% J" @( y* N9 q: g Q {
. S% i, I; T# s6 @2 i: z if(debug)
$ H* q% _$ H$ A+ O7 ? {
8 q: q1 I+ w3 x8 s" r alert(e.message);
+ e% H! [4 K' C" P, V2 s/ K } S4 }6 [ |8 X' q% U
+ ]" h/ C7 d: ^. `
return "200";
3 L: z; z. m. `" @ }+ k' @' b5 {0 p, \
}
. s6 ^: }" Z9 R9 r9 R/ t4 b+ K. H! S ; L$ N; Z3 V9 ^/ r' C
this.RemoveHide=function(page,objname)
8 |) G# v0 L% v6 z& x# t/ O/ z {7 C" [& i3 j( y/ s/ l. X
try
# A+ S, j5 D- s/ l3 h. y { P8 F0 c$ L: w* z7 [) ^
var minValue=15;/ K$ t7 V- w3 g. V! S% ~9 X! v7 r
var objs=page.getElementsByTagName(objname); ! Z, [, B) ~( @2 @8 A
9 i: @" ]/ s, o
if(objs.length == 0) 5 ~" c0 Z* q6 E
{; r; i2 z! l8 h
if(debug)
8 j1 F6 }# u' U$ e { [5 R/ ~ K7 Y8 I
alert("no object found!:"+objname);+ g; y. g, V4 Y' W9 [& O. r3 H
}8 G9 Z- a& Y$ h }
}
5 j# ]) \; o2 U n# @% L" { else" w7 V3 C+ r* I% z$ f8 D0 i
{
( |8 H9 i. D6 z% V% r, ^3 I
$ |: p9 _: r8 ?0 W5 o( ?8 ?% r for(var i=objs.length-1;i>=0;i--)
/ t/ o% q+ p7 ^ {" R9 Q1 ]5 ~' A3 y2 d5 x
var node=objs.item(i); ( ~' V7 p/ W* Z8 A2 U
% y7 a8 P4 @, F3 a3 a
) Y$ A* Q$ a* r! u: @3 \ if(this.getobjstyle(node,"display") == "none" ||! _- m" ]: L! P- A9 J u& ` n1 _5 Y
this.getobjstyle(node,"visibility") =="hidden" ||& ?" I! d! {7 t$ E
parseInt(this.getobjstyle(node,"font-size")) == 0)
( [ W* l) J" z {
5 a' ]( z5 J& s8 `6 v& ~ if(debug): \* r1 z' A" j# x
{- J, v: V9 s8 S
alert("remove invisiable!");
0 g) C, k3 M7 e& E }$ i5 |# W2 h: V0 Z- H6 I2 ?; W" o
node.parentNode.removeChild(node);
2 B2 G( X1 c+ w" o9 b, w
" a8 J+ k6 T2 E }5 B* J8 k+ \. M- H- F0 j
else
# {' V& q8 e' S {4 B3 s. m4 s: b$ L
if(node.parentNode)
8 E2 p6 {: j* G( L8 N" C0 B {, Z) s% ^: ?/ e( O. U+ Z
var orgNode=node;
4 N) Y- w1 C' }! E n var orgColor=this.getobjstyle(orgNode,"color")
( d( s5 o& |+ A9 D# `8 l+ `# f var orgRGB=getRGB(orgColor);
5 r5 h% Y' w8 _0 p3 b! f L$ i $ E, j! S, y* w1 [+ k
var parentNode=node.parentNode! \: r0 T6 o' v7 c0 u
var parentBgColor=this.getobjstyle(parentNode,"background-color");
8 r$ f! D4 l) e7 [ & G& i% C3 P( r0 c$ x! O& D% r
var isLast=false;3 m: y, f; v& r- K& Z' C% W
% y* p" Y$ k+ y: W/ I( S8 v+ R
while(parentBgColor == "transparent")
1 G0 r& x3 l9 D6 O$ C( b {
2 _/ y' d0 ?8 _6 @
) T$ y/ M, f- ^' [% w: O + G3 Z0 f( m4 ] z1 p/ a: I
if(parentNode.parentNode == null)
( |; i- {. _ G% }; f {
+ {& f. v! R- u( ~ isLast=true;
; U6 `7 g; Z3 t break;
8 u& _% I" M0 |8 T- b' h }
! n4 K2 [9 W. e1 j5 V' a0 |( W) B parentNode=parentNode.parentNode;
0 w2 P2 E' C( V parentBgColor=this.getobjstyle(parentNode,"background-color");
1 J& H& }% f1 g6 H$ ], _( ` l
: J g- b5 A/ @; j& N3 q. R* i if(parentBgColor != "transparent") : c% o: O5 h0 ]
{
1 T: S6 |/ x+ F: Q* ? break;' l0 S+ a+ b) V
}6 y: G1 m; Q! m: B0 @
}" ~0 Q4 G! j2 _/ z3 u. C
if(isLast)
0 [9 N) Q! l E& q {
, X/ m2 T" z9 v$ U C. v* p if(debug)4 I& x* K- T, P2 R5 Y
{
' a. K! L2 N0 W% g( n2 t4 X alert("last!!");
- i/ t5 F. h0 Z* ~ }1 c7 _; \1 {: ^3 Q' e2 `( X
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
5 j4 J' Z6 m' T) E {- L9 r* d# z0 l9 U: H4 n7 C1 u4 D
orgNode.parentNode.removeChild(orgNode); 1 m$ E. J& G, r5 \& I
}
/ e% i9 W% c$ s. d' f, O/ [1 m }: D& a% k! j# H+ R' o* x) m( x
else& [) w6 H1 h, q, n; w
{0 e" A' @9 H4 ~/ N- o3 B5 F8 _
if(debug)
6 O+ G, L' ?1 S; ?# b( g {
5 o m; ?. _, ^; E alert("compare color and parent bgcolor!");' m6 h v, S5 B( W
}
' A9 N c7 o- d1 H; w. I, u parentBgRGB=getRGB(parentBgColor);
6 {! _) B, Z0 C5 i7 d" z2 I if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))4 s$ F8 b& p5 V9 A- T$ j/ X7 S
{# B2 e* K: j5 S; `
orgNode.parentNode.removeChild(orgNode); # H: p" A7 X1 G; f! i
}
! W) M# _) I1 ^4 j- a }1 {. |/ \6 P* k5 y
}9 i' M+ e9 s, L( u
}/ m7 k( E1 U0 d
}
y# y5 M% u1 I9 U) h# P! B% N }+ R/ m# Y3 N. N5 h, b
+ k: ?( [; i+ w1 ^ v% ~: \1 `) F 0 |, X `# ]) j$ o+ M) B( u$ A8 h
var itemFrames = page.getElementsByTagName("frame");+ I, B! F5 P4 w2 g1 i3 t& Y* D& _
var itemiFrames = page.getElementsByTagName("iframe");4 v" U5 {3 c) l( r5 |
2 f& D1 K) l9 L2 |7 ]
var frame, iframe;) ]! N( t( U' A Q
if (itemFrames.length > 0)6 A4 U1 F+ J1 x4 |* H6 D7 V9 c
{( x f" K$ f9 g/ @/ h
for (var i = 0 ; i< itemFrames.length ; i++)
; ` J' ?: m6 J' I: }( S- T: | {0 W" o" g3 q- v; a* |5 ~! F; {! M
frame = itemFrames.contentDocument;
) b, ^% ]% l& Z0 T9 |: p this.RemoveHide(frame,objname);
. T" O& \+ H1 k }" N; i! t8 {2 n: ]9 c( c# g; |
}
7 h2 {2 b3 R" p# z5 [% H if (itemiFrames.length > 0)3 g1 R9 m" h4 N# S0 }, P# ]
{
( `( g+ S' }/ p5 ~! k# P$ n for (var i = 0 ; i < itemiFrames.length ; i++)
1 J \% {7 Q. G/ G+ Y5 q {
4 f* e& J' k8 G iframe = itemiFrames.contentDocument;
) {9 T0 T" [. Y) k this.RemoveHide(iframe,objname); 5 L2 I, \. {% C' u, K p
}7 T) `0 i% x# |* k$ L
}& f8 W+ m5 P9 Q
}
' `3 @4 K# M, |" v& }" f# U catch(e)
/ a- v8 ?$ d. @3 A5 g+ w {( t7 K' I6 N* ?6 r5 u9 T% p- C
if(debug)+ n9 U- E8 n# e& t9 ]" X
{
' L6 S# `. Z3 `/ e, Y alert(e.message);
0 X. }8 N1 }6 Y: P }
5 W0 g( K* G8 l/ [& l( U1 \2 p }
% ~5 A3 k# `) j1 b% V. u0 h }7 }' R7 r+ e7 I3 X" \, M, c
3 T6 S5 c0 [4 G1 M3 O}
3 H; w# {) v# ]5 M4 x- u
' N, [5 G4 [* |( Lfunction getRGB(colorString): j1 S1 g; \7 B
{
1 E$ z5 C& @. V0 Q* Z% R7 H var RGB = new Array;' A3 Y9 L- C& I) A! _! ^( r* ]8 M
var tempSting=colorString.substring(4,colorString.length-1);, R- c: G; {8 K& w9 \
var tempArray=tempSting.split(",");
' ]9 P s, I& o: y6 v7 g2 S. H5 J$ P# x/ B; |/ A. u
RGB[0]=parseInt(tempArray[0]);3 P. y0 ?: n$ e _ T
RGB[1]=parseInt(tempArray[1]);
# u* A5 V' F2 V1 a RGB[2]=parseInt(tempArray[2]);
1 g9 Q& s9 g+ w4 T : c" E5 I* B5 _
return RGB;
* w0 H) p: H- W! k! ]8 d}
0 d8 t- U! |) c' N& v: S3 Ffunction keys(evt) ) S9 W- @% ~" U5 o2 f6 ]* [
{ ; B7 F- x3 @% k: b1 A4 _/ X
if(evt.ctrlKey && evt.keyCode=="81") 5 l, A. ^( q% E9 T# R2 f1 Y
{ Y& p4 M) Y w ?9 d- V( Y5 ^
CleanHideObj.on(0,1);
3 w+ x1 Y# C; m! { b alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
3 U5 M$ Q2 k) ]8 Z) s7 {0 ~6 @0 O 3 e7 t8 I5 J& u8 e
} " a( H% I0 D2 Z4 Q
} $ h1 t- K$ j# b9 u' D9 m
document.addEventListener('keydown', keys, false); ; z$ ?1 e5 C5 H& N1 P& x3 g
GM_registerMenuCommand ('Clean Hide', E9 A5 O. A* @, N" P( M! j
function(e){
, ~" B$ T' I S6 j0 vCleanHideObj.on(0,1)
) U; i3 [% ?3 L, C( Y; lalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
* d8 y/ F j+ ], A$ W$ v5 N});; ~9 X- k% a A; H( @
|
评分
-
查看全部评分
|