|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
; E# c @5 m% J5 q0 W) f6 o* g4 |2 x
火狐插件,用猴子* {& a& y5 j! H/ A4 S& n
`' `, A6 p: i1 M: a/ a* evar debug=false;
* |" X" a# X- h# w& ]9 @var CleanHideObj=new CleanHideClass();; d* m0 m% b' d3 R/ m6 D
. z! I# i, E, ^function CleanHideClass()
2 I9 K$ o, b9 A$ v{
& y, j5 G+ r+ c% y |
! a' X& n1 Y. n" x+ V C; _( e' F this.on=function(id,bMZ)
/ ^2 t* r7 n: u2 ^5 _, a2 `& | {7 j$ r4 h* D j) A' v4 k: ]
1 r/ m0 x5 {6 n. n7 D0 V6 N8 q$ Q
if(id == 0)
; W3 A% N: I2 M( E7 z {* g. G/ E: x C6 f/ C* H
var page=/* document.getElementById("content").contentDocument */document; . ]/ F7 }, c, l- o7 P$ N9 {) i9 t
this.RemoveHide(page,"span");
8 {# F8 F% U/ w3 \ this.RemoveHide(page,"font");& y6 Y+ c0 v! W9 [7 `4 D
this.RemoveHide(page,"div");# C+ S Q0 Y" V9 C! ]0 d
this.RemoveHide(page,"p");. Z X* D' c" C2 _
6 F: R) A# `$ m. d! U
}5 i. _% t2 o$ C( o7 O- K
8 @0 s2 M2 D! ]6 v }
$ l% ^8 B4 A: [& x' s this.getobjstyle=function(node,prop)
" Q! ]- [0 i4 x {; Q# P+ X6 f- ?: B
try
( {# F8 t, c3 N, d9 V {
% e6 x" U/ s5 d C% f' z4 y return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);- j5 S5 p( y9 w* O: @
} H4 d7 x U* M; U% C# g J
catch(e)
+ Z9 L+ W2 Q" W% W; k/ p4 {, g0 \ {
5 F* I# r1 x; K% \1 K if(debug)2 @3 X; ^5 o; K6 H1 v \) n
{! v- p2 @) O6 r4 r% \4 C; s& l
alert(e.message);
! f( v# N7 ]* V3 H0 G2 l V }
6 h- |/ L+ {8 z' p; d% b% Y
9 K# C7 b, X3 h, D. u1 a7 Y8 j2 k I return "200";. n+ ~3 x) u" }- W7 C
}* n( D$ B8 q" v7 |) J; j
}
; c! {/ q# `+ Q, G
; D* ^# ^2 n! t this.RemoveHide=function(page,objname)
* {4 i3 D/ F4 A( V$ r {
B7 c- S Z% }: d try" l/ b ?4 u( T! }' l
{
) ?: V) f. w, ~+ r7 S) z/ g var minValue=15;
2 b0 K5 r! r" x% E3 ? var objs=page.getElementsByTagName(objname);
/ x; @1 n$ J2 G6 M, |
9 j1 M8 E) J9 F7 ] if(objs.length == 0)
8 ?# z/ M! N( v+ q9 @0 \/ A {
8 Z- l5 P$ f4 v4 q if(debug)( s4 X) c) J* v! X B6 K m: A
{
1 S: _) l5 @* v% v' T8 `. r/ Y alert("no object found!:"+objname);% l4 z \, f1 @. w5 {
}
/ @+ N5 P) } P }
% m2 P( L% n6 L Z3 a% K8 s else' y; C/ }/ i, }! n P1 y3 g
{. _* q4 H) Q# M, p' u, i1 n
! S0 D6 H! `1 t4 E) ` for(var i=objs.length-1;i>=0;i--)
! L9 _, O2 _/ V3 }* ` {, N( p& i1 h3 i) p" S) E0 T4 @
var node=objs.item(i); ) v. R9 Z, H% `
1 i6 |0 J0 Q" Y/ z% c* P ! A6 D. ~7 a& F
if(this.getobjstyle(node,"display") == "none" ||
+ b6 t/ t1 U9 X- w* B* I this.getobjstyle(node,"visibility") =="hidden" ||
0 M2 x8 m2 _9 x9 k parseInt(this.getobjstyle(node,"font-size")) == 0)
* l3 ?5 B1 Y# w& ~- J {
3 w& F$ \9 @* p0 U if(debug)
' l" M; n6 |: O5 n( Z {
9 u6 j8 \& S: ^/ p' { N; A3 i4 d alert("remove invisiable!");0 }; H8 p0 f7 A) Y8 J# M
}* F( C) m6 i2 Q) c+ G
node.parentNode.removeChild(node);4 |2 h+ U; X! T1 T6 _* g6 n8 i4 w
; j; i$ L0 s+ `* `& @ }
* u: x6 C. _' B* D: Q; T else 2 h% z$ Z% s5 [& R" P8 N
{; y) S( c1 |$ r3 B: h. Y$ ?1 n8 n
if(node.parentNode)
% P+ F( l; [, O3 f( G9 H. D {
: @/ ?( C- a& J5 s, i* \' V" f* b var orgNode=node;
- u0 h! D0 j7 M" f0 A: m* K4 J var orgColor=this.getobjstyle(orgNode,"color")7 U4 j7 Z! A2 G$ V
var orgRGB=getRGB(orgColor); ( {. A. }( M$ _- Z3 }
2 [. q! U# V3 D3 y! n
var parentNode=node.parentNode2 H- J. ^1 H! ~5 B
var parentBgColor=this.getobjstyle(parentNode,"background-color");
7 {" T( l% E2 T" H$ @/ A: G$ R # A. c; `8 W+ x5 b. X$ ` o6 p
var isLast=false;
* B+ t# Q0 K; x% I3 t& v , z- u# f; P- u- [: Y
while(parentBgColor == "transparent")
1 f, n0 L! z4 v7 W/ w U, H& k {
# z6 ^- v) q, p( m 8 L1 t3 a, l- [
3 x1 q3 A- C" O
if(parentNode.parentNode == null)& b. t) d% h% j5 I
{
0 S9 h9 M2 H) }9 c$ Q2 C2 X) Q isLast=true;
8 O2 l5 [2 k5 C- q g+ R break;
8 A- R/ b4 i; b7 e7 ^5 J* t; [( a }
* U3 U! H( G( P3 j0 E7 y- c2 a parentNode=parentNode.parentNode;
6 P0 @( z! h' c. U" g parentBgColor=this.getobjstyle(parentNode,"background-color");& O+ ]& _, y' S/ S3 f6 O( f
# Z2 {; B+ k9 o& V! D
if(parentBgColor != "transparent") ; \" Z$ J; M( q; D' D; b8 o
{
* c! R' z; C) R break;. M% Z1 r- J H: X5 m
}
- H* m( k, f' i1 k/ I }
& O) J" x: Z l' U: G }$ |+ d, ` if(isLast)
, I- ?$ b) |- @' w/ D! g% O {
& h: p* J1 @: Z2 H if(debug)
6 C4 {2 |% ]9 ^ {7 |. p H! [' q8 Q
alert("last!!");! S% p: M5 h8 A# b
}
! W& k- W8 D" I& N if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
0 f* I+ Z" X% \6 n* p# C& [ {
# J2 P1 k4 Z# q6 D8 w r orgNode.parentNode.removeChild(orgNode);
1 g" m G' B- q- o$ h: @ }
( c% _4 a% K7 s- \$ h$ {1 f }# m+ b% R' ^- I9 C5 I
else2 L/ }4 \0 t9 ]; B+ m+ D
{8 y6 {, ^! y% J# H
if(debug)
! j6 g, r: U. U! \1 u$ g1 ^" A {
# [: h( e8 X% s1 }9 _, l3 v8 _ alert("compare color and parent bgcolor!");
& z& P4 l) ^: x K }
6 J4 @% G1 M" e8 v parentBgRGB=getRGB(parentBgColor);( {! `' @6 E: Y2 O4 W7 l
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
. }* | Z" n/ u | {! x/ p2 y x* U* N) r1 f
orgNode.parentNode.removeChild(orgNode);
6 h1 l8 q* N8 u8 Y' _ }
' B( C# A' L% N5 I" {5 X }
) o& T: E6 T, S4 I }
$ O; V* [. k- F* D# B/ m9 z! }( W }1 \: y; z D" z9 U1 F
}1 c: z0 G+ s/ Y/ A4 _/ Z
}
P. S$ G0 O& G - U* V/ f0 O) J( H- ^% b
$ K' h' b# K/ ]# g; i% @4 T0 a6 o var itemFrames = page.getElementsByTagName("frame");
! `5 _8 b' W7 W- K+ {3 @ var itemiFrames = page.getElementsByTagName("iframe");) g, r: j4 y( |6 U5 X5 A1 o
; t0 O3 |+ d1 O) h* \! E var frame, iframe;
2 l) ^% g+ Z) r1 `1 F/ z if (itemFrames.length > 0)
" R( s5 g$ F3 }0 {8 \ {6 w- M3 W! A" y# t
for (var i = 0 ; i< itemFrames.length ; i++)
; h; f. D0 _& m# h/ B* @ {
# l" P* k7 K% i! P8 | frame = itemFrames.contentDocument;
) |9 }. g5 w7 t* A this.RemoveHide(frame,objname); 7 D) Y, p8 v' W% P H2 i+ A4 f
}9 X5 w& {. u" Y& p5 l
}/ n) i5 T) u" s/ e, `) G7 `
if (itemiFrames.length > 0)
$ H5 \8 M5 Z2 N8 _# o) T {
4 q- H: I y! z% ], H6 { for (var i = 0 ; i < itemiFrames.length ; i++)
! h8 q9 z# S1 F& \$ a: f {
2 V! I* L! O) T$ L iframe = itemiFrames.contentDocument;
2 U. w- c& z( X) M5 T! \ this.RemoveHide(iframe,objname); + \( U; K0 c+ i; I6 {4 a8 |
}
# Y) J* J' B) b+ F8 V }
6 o3 \) P$ }* o2 i- \* B }+ h+ l: w' U [1 Q+ q7 o+ l4 @' D% X
catch(e)! X& Q8 U: `3 G6 w2 R
{
& E8 l6 y {& B8 h; H if(debug)
7 W& C0 v% {* G* ?+ O( D( J( v" w( B {
) {. @8 n' F3 i alert(e.message);# e6 P Y( O" O( }' P7 a3 a5 [
}
' @$ F! i5 B# U3 T }; k- d6 T! k' K @$ F
}
* x- P* ^5 k/ G
9 F7 x+ P9 i% E2 `# C}
. m9 q. f3 \; D, ^0 Z8 j. O5 H
4 R+ I2 a+ W/ h# e3 mfunction getRGB(colorString)
$ F% o1 u8 O/ O6 P) a$ C{/ M. t, l: p7 `) @ B8 Q) B8 J
var RGB = new Array;% n+ o0 x, D! g% Y+ E
var tempSting=colorString.substring(4,colorString.length-1);9 C' F8 d1 W: G/ b1 i
var tempArray=tempSting.split(",");! R2 l7 B# C) j0 y
- [. f1 r+ `( Y3 e5 J! s7 o7 j
RGB[0]=parseInt(tempArray[0]);
/ \1 t2 z2 @ D$ I. C RGB[1]=parseInt(tempArray[1]);
# P5 J! c/ f7 @- w! T- ` RGB[2]=parseInt(tempArray[2]);
. L' o: q' x) K6 n# b: N
2 R+ G$ [/ [+ a5 N2 m return RGB;- x& Z0 c; Z8 n" K+ D
}
0 r R( G) I& A: p. xfunction keys(evt)
3 |4 k# A8 y5 M5 y {
9 V+ }: D) B0 S7 [( M if(evt.ctrlKey && evt.keyCode=="81") 9 `0 n7 \, k- U# E, Y4 E; O
{ . W' _) [; T* [0 U
CleanHideObj.on(0,1);
) {/ G3 U4 ?/ `- U2 }, I* g$ R alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); $ U$ V$ |$ k& z) e0 l: ^
$ m1 u+ j& G' g' G. D1 r- g
}
" H# K p, y# p7 p" J } + P+ D' F* U: v' N1 m) O" ~
document.addEventListener('keydown', keys, false); $ D# q: s9 d" p8 l- I8 C5 k& ~4 l4 o
GM_registerMenuCommand ('Clean Hide',
% s9 u. e1 Y. B) Gfunction(e){- S A6 }0 P$ {; X
CleanHideObj.on(0,1)
8 n7 I2 j: {- s) n7 [6 e/ dalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- Y j4 I/ H. g( E});3 F @# K/ u3 C. M
|
评分
-
查看全部评分
|