|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 7 K; i2 b7 @" w
`4 F6 J& V g2 \- r+ |火狐插件,用猴子
: R) `/ ~6 A1 y0 W% w0 R+ J" Q
X( E8 F& o0 d/ a! Svar debug=false; " a P; {! u8 h8 M+ N. X: N
var CleanHideObj=new CleanHideClass();5 @8 v% m; ^3 ?8 O" P( |$ X+ U
6 Q1 w$ N4 T4 \. W. dfunction CleanHideClass()
& t1 g7 f! Z: r" w: J{
2 g" s! Y6 d# H) K
7 f% W; }! S5 @. T0 ^# Y this.on=function(id,bMZ)7 r* ] `* X1 d: [4 E! z
{7 [: S6 r3 h$ Y
) @ M1 |: j( ~ if(id == 0)( [5 [7 M! F1 h6 x: u# V' q; e. h7 u
{
9 r; t2 t) v: \7 f" {, b) M$ N; @0 } var page=/* document.getElementById("content").contentDocument */document; / W! `8 F+ K& I Z+ B# }
this.RemoveHide(page,"span");
" \# M- I3 T3 } H$ M+ ^- O) {! i. V this.RemoveHide(page,"font");4 `! }& y6 e: G! E2 j% Z" Y
this.RemoveHide(page,"div");
: i/ g; U4 s8 e8 L8 x5 \' H' ~ this.RemoveHide(page,"p");: L$ T% W8 \$ Z" _) q
. ~/ B% U, V, K
}
8 H9 I# D1 Y+ m1 e6 O 7 I2 p) k( M7 L( {7 U: M K
}
) x( U( `! O$ [' M4 i8 q! e this.getobjstyle=function(node,prop)3 j/ L2 @7 H' _; I3 h* k
{
+ O: j g9 Z r# Q( }5 c9 v8 Y% L try
) s f0 S0 h9 |+ Y% {' y4 a {6 n: n0 D- C" \' |
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
6 k- G& }. ?4 [( ^ D1 L' G }
& z! K/ G& n y, h+ l. }" X catch(e)
3 C2 M0 R$ A: W$ X! E! |( r {
2 T/ u9 O+ a4 h3 X7 }3 b ?/ P' a if(debug)
6 L: ~$ A9 Q) e1 M7 n% Z {
1 J% I- {2 Z$ @0 a3 |: h alert(e.message);
+ }! g' u- t8 {, | r0 H& ^0 f }
0 `& N% C- q R8 B1 L8 E% m5 P
% C# |7 m9 c" v& V, x) Y7 }; c return "200";
' ^& S2 R. I V& k7 D1 S6 @+ K }- {/ {+ ^* c% L) q D
}
3 ~5 n3 k3 F5 L( g 6 ^& e1 F& C/ `$ |" [
this.RemoveHide=function(page,objname)
- r6 Y& a; V) b+ F1 O. ^ {
1 g6 J# p5 Z9 ]% C4 D try2 f% O& G j+ @0 _* m/ [5 _
{& v. g8 A) w/ A* ^# {3 L Y
var minValue=15;
: t2 z6 S( ?/ G. Y7 Y7 g var objs=page.getElementsByTagName(objname); " m. S/ A6 O7 D7 ]6 A; g2 ?
7 v, g# T5 W& d0 I- ~9 f( L if(objs.length == 0)
" O+ B7 x: W+ ~, y. L$ C {; X( R1 y7 {( _' ^
if(debug)8 N' H4 r2 T1 ], j: m4 @
{
' h C" v$ |# h2 i alert("no object found!:"+objname);
7 {3 k5 C1 ?8 d; B0 `( m, F! D+ @5 f. ] }
, ~8 y4 e e8 A# W+ ?/ V" V& B }
( K9 B |% ]( b- S; x* E else: { w7 R) l* B: A- W0 @+ [, @) ]
{' f8 ^' |* ?4 W0 S
6 o2 M7 v/ _$ Y5 ]7 H
for(var i=objs.length-1;i>=0;i--)
# k) n1 ~4 n; s {
W' X* H2 |+ \0 u var node=objs.item(i); + g: O. \: B+ \1 T
3 v& b" ^: F& t8 J+ S9 a1 J , _. ?3 L- a, q5 i5 u f- D; q
if(this.getobjstyle(node,"display") == "none" ||
8 N0 S) L- B x! G this.getobjstyle(node,"visibility") =="hidden" ||0 l8 Z* p( j) o
parseInt(this.getobjstyle(node,"font-size")) == 0)
+ h5 d( ~; W0 \! ]; O* {* V. a {
2 ^# N8 Y* V! E' m if(debug)
: u. ^8 d% |2 d; e {
" b0 P# g1 _( K- p alert("remove invisiable!");8 Z! U D" D* |8 j2 ~
}: @ I7 p& X. ~! L# ^: G
node.parentNode.removeChild(node);" x4 @% O3 i( f# ?! B
) G5 F$ Y' m+ S" G1 F# C }
4 ^2 }3 r: l5 K5 t6 ]' l* a# s else
. u# a$ D6 }9 M& r {
# a8 k+ S Q- _+ R. o9 L2 k: Z6 v if(node.parentNode) 7 T/ I# C4 ]! v0 p. k5 e+ p
{7 U8 h4 w- b% r2 N. w6 ^
var orgNode=node;8 l# I7 e1 w/ U6 ?& _: O
var orgColor=this.getobjstyle(orgNode,"color")
4 L. G5 V8 P, L% {3 i; w var orgRGB=getRGB(orgColor);
! [0 N5 r b* r) Z, J I; u' ?9 {. k9 a9 g
var parentNode=node.parentNode
+ g! M" F' w* K+ a q# `# o: k var parentBgColor=this.getobjstyle(parentNode,"background-color");+ b+ n6 J7 O* i
* N4 n7 W- r2 E. S0 S) r var isLast=false;
/ c- R1 E7 ~5 Z, ]' t
: j% _ ~! R& l; P/ g; y" p while(parentBgColor == "transparent")
: |& }) _. K4 T h; w( L {) a3 O d9 C4 H, k
4 c6 U+ G( c8 M4 e
$ w3 ]; r' [7 \, [
if(parentNode.parentNode == null)
2 Z3 f. G0 i+ t) X5 c4 U* | {. X9 `. p% w& t; x1 P
isLast=true;
7 w. k& \* O. t; D4 Q2 u6 h break;: ~ p& [* N) n. Y8 C/ l
}# `1 o' W: a7 B4 M- e, X
parentNode=parentNode.parentNode;# b& C5 p- h2 W
parentBgColor=this.getobjstyle(parentNode,"background-color");. h( M- j+ J4 ^$ [1 u' r. e
% p4 {9 y+ I9 t. K: |- x" j# L if(parentBgColor != "transparent")
! w/ a) s) ^* T" |' u0 ~ {
, c2 G' J( {' E! W* J2 ~/ t6 ? break;4 O" Q% Q8 }1 W1 W/ y! [
}
% W( G% H/ F: r# y: y" E" \ }
# W# O- O" P+ Q% j5 u if(isLast)
8 a2 E" F2 W0 z) f6 U1 u; J {! A( r/ z! \$ ~
if(debug)2 l. o% S! {( v) C8 ^$ v
{
/ z+ M% B# Z( Y, _& E; T alert("last!!"); f) w: _0 m9 F6 ]8 A
}
2 T, T. j6 w8 Y1 S if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
; {6 P% S6 R# B, k+ _: E2 f {4 d, c5 p4 q; v: b
orgNode.parentNode.removeChild(orgNode); 4 [7 d/ a' l6 r' N2 k8 Z$ N! e8 l
}
- V. w* h' Y" G8 ~ }
: K) f5 t" M9 I- }; K/ {' O1 G else
) v9 F9 t' Y6 L" r( T" s y( y {
4 }' m) A7 r }+ U8 O9 q if(debug)
! | `8 P" G9 W0 @4 W' Y {
4 r" ?! H/ u1 \; t6 L3 A1 Q alert("compare color and parent bgcolor!");% G5 y7 o8 y- {: T: h
}; g8 T3 `7 h: f4 N
parentBgRGB=getRGB(parentBgColor);7 y, G c- ^- ~6 V6 O! e" N
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
* ?) S9 [/ R+ z- D7 C" t g J {
, g; S6 P3 J) B$ `; {( Y, { orgNode.parentNode.removeChild(orgNode); 6 N! @8 [: b: K; C
}
4 v: m9 C- X+ F' | }; u7 E' y' W/ m
}
/ J7 v$ M/ }$ t+ E' | }
) i; P$ x6 ?) o2 I% q8 z }
$ T- q4 ^1 ?' | }, W* G. L' A2 h& t$ Q r
; m4 d* M% m/ m9 @- M4 _1 ?0 K
5 u' u- n+ }. E- J5 o3 v \ var itemFrames = page.getElementsByTagName("frame");
2 P% K% T0 k1 r1 g0 f. m# N var itemiFrames = page.getElementsByTagName("iframe");! P% K3 k9 P! `& g
) h3 m5 _5 P3 t: Q1 w/ X
var frame, iframe;
$ h- \- ] f4 M2 H if (itemFrames.length > 0)
7 L2 L: y6 y$ D {* z: K! h7 K, m" X. L! `
for (var i = 0 ; i< itemFrames.length ; i++) 5 z# c& |/ ?- B0 o' s% J- W
{; \" {4 ?! t5 }: m
frame = itemFrames.contentDocument;
7 \ J, T8 C" X, J% y4 @+ M: V& N this.RemoveHide(frame,objname); 3 i2 `" O) ~0 o6 @$ a8 z" E" g
}
1 ?: d, r8 M9 [4 Q% W6 d: v# s" ~ }: j0 F# Z+ {2 u _ m( a( Z
if (itemiFrames.length > 0)
+ ?) C' \1 K. `6 G m w) `8 K4 v {
7 M, {5 x4 `0 |$ e; R for (var i = 0 ; i < itemiFrames.length ; i++)
4 K7 V2 z! j% \( X {
) C! ~ C! o/ H$ R: K, l2 v( J iframe = itemiFrames.contentDocument;
7 [1 w; d5 f( _" F) t3 ~. q* u; S this.RemoveHide(iframe,objname);
+ B; z7 L1 P* l# O7 C }
' k; H& s& |, m }
6 t2 C$ Z/ c# D" j& k* H4 l0 k8 I) y+ i }
( s* f8 k2 v, f; g$ p' x% X9 A* W catch(e)( r# X0 d! @. l% b* y- B
{) j7 l/ `# |3 M6 s- U
if(debug) Q/ s. l- ~% ^* M
{
/ C& f, Y+ l& b, [; b1 Z5 x X alert(e.message);
7 f% m$ T/ @* Q. W }
U0 p. M0 m1 U8 ~; C }- V" j+ w4 I. I2 k
}4 v4 ]* Z+ c+ f0 ^- X( o) d( x
& d d7 L, x. g. S4 ~! l, G3 g! c
}
& G5 n; \/ z" k9 T9 d- @2 s7 c W! J2 E) G& x
function getRGB(colorString)
/ Y$ `5 n+ J4 X1 ~) G) Z! E{
9 D/ o+ H9 k$ J# X$ \ var RGB = new Array;
8 X: K, t9 z( n5 l7 J var tempSting=colorString.substring(4,colorString.length-1);
2 ?% _2 I5 e1 z. n! R7 q5 @ var tempArray=tempSting.split(",");
& I% F" A" N9 S2 Z6 |" |( W4 ]: m- Z, M1 ?9 g( f4 V
RGB[0]=parseInt(tempArray[0]);( W0 q' U' A% ^' ]! V9 v4 _
RGB[1]=parseInt(tempArray[1]);
! ]5 g8 N3 Y8 S( H- z, r4 M& v3 x RGB[2]=parseInt(tempArray[2]);
; L+ ?; B; A" N+ h9 K5 r 7 B& U6 N$ |+ o9 l
return RGB;
% |* _3 o3 w8 X}
( F6 b& i: X" afunction keys(evt)
9 v+ O2 J+ u0 j) @ {
" E$ R, [6 |( c: j5 B4 a, K5 z if(evt.ctrlKey && evt.keyCode=="81")
5 a: b$ f# c# }% \$ ]( l1 H { ; Z$ [7 n" J* w* A. u+ Z
CleanHideObj.on(0,1);
1 e" ~% T" E) t Z+ k" o alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); . h' d; a$ |/ q; l
+ k% P0 B% p( `! k' n } 3 r3 T, i* o6 ]
}
' P& K' x% B, T2 u2 [# cdocument.addEventListener('keydown', keys, false); " b6 T0 s/ Y3 E, k- Z
GM_registerMenuCommand ('Clean Hide',2 g0 A% H' i8 j7 v
function(e){7 i# M, U$ T( n& I1 a% h& s/ O! V
CleanHideObj.on(0,1)( D( r' I# I3 p# x# k' ^& O( R
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");$ Y5 H1 }3 N- D+ Y
});% X' J( R1 W5 J" y" G
|
评分
-
查看全部评分
|