|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 . {2 C2 x7 ], z3 W( g9 H
7 `- t$ s; @8 \# T7 b9 b& q( E! X
火狐插件,用猴子
7 a. [9 L G @6 f/ w* P' @( v" g' ]8 t, L7 ]- J$ T
var debug=false; 8 k! U. I t* ]+ G J7 u
var CleanHideObj=new CleanHideClass();6 s" }8 @! q0 |. G N
: c! g7 a' f) R) {% r5 S
function CleanHideClass() . x2 z9 N. z' R5 B3 n+ @ C
{
) K& K+ e/ G0 p
* e6 w. q; c9 R2 I" T' C7 r' z this.on=function(id,bMZ)
6 d2 R1 [& R: O9 D {7 s- r: J9 r( g6 ^1 [( q: z/ o
$ d; D" [6 r1 o. E! B' @
if(id == 0)- L$ d5 J5 h V
{
& F4 G% s$ |0 I: h var page=/* document.getElementById("content").contentDocument */document; & L8 U+ l: R% h4 Q% U) k
this.RemoveHide(page,"span");
1 k8 Q( |, Y! H. d5 z, Y* }2 o' O this.RemoveHide(page,"font");# B/ [' W1 Y; _; A5 P" b
this.RemoveHide(page,"div");" m( P0 U, Q% t3 W" T: u
this.RemoveHide(page,"p");
' ?3 t# v. L+ e" J# [ : u2 G( f D ~3 m! Z
}5 w0 w7 S: S; i8 z& k
; _2 j1 K+ k/ c: B }# e% i6 G) t) J- U) s1 a6 y
this.getobjstyle=function(node,prop)
) S! n2 Z3 ?7 z/ G' J& ]4 }, u0 Z, [! h {
$ m& k/ V: A9 v9 o! L try6 x& e' B! n+ V' p# b) ?) C
{: _8 o) e% ? t! H0 \6 v
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);# F0 V$ m6 Y R2 ?$ l7 g7 n1 D" c/ C
}
9 e. i( r' q4 x1 N$ Y% p catch(e); Y. A$ {/ ], H% x' |6 _* I
{
: G0 O, k, U3 | [3 p8 w: t+ Y if(debug)
7 H+ `# V0 P8 c; y$ t" } {
% [' { w% i' ~* A6 ^/ T+ N alert(e.message);
8 v/ C5 a& z5 w+ W _ }
d' O9 k4 N ?* y. k5 E$ @7 [
0 S& M: B% V" v/ z. s3 D) V* v$ E return "200";- \& ?$ e5 a9 J) D
}1 O. u* |9 ?3 w9 y) N
}& n5 K5 _' C7 k; T! m
1 a0 W w5 ~: Y* D7 ^
this.RemoveHide=function(page,objname)
/ S8 ]: P. e3 L; ^ {
: m6 K+ N. }3 t8 Y) Q try
( g8 G7 x1 A5 G4 Z, Q {
$ a* k4 L8 H. o5 o, ? var minValue=15;7 N2 @, i4 X* h
var objs=page.getElementsByTagName(objname); ) b7 f% t$ {5 d; ~9 o$ g' ]9 p
8 a( @3 s) m$ v( U2 _* w3 |& J
if(objs.length == 0)
* Z' z- q' k) I" n. w" K! ], ^ {
" n. Z3 u- H/ n if(debug)
5 E/ T4 i' m& \/ V0 T0 z# O {- P4 f% L/ C) T4 D5 m7 k
alert("no object found!:"+objname);# Q$ ~' I/ ^4 U! Y
}
' U/ ?' K- @3 }! y }
: ?2 ?0 c- b, I; n5 C$ v' R else
3 Q' ]" a- E: [/ }9 w5 Z, ] {; C% Y, E) n, }9 v
: D1 x7 I* \* @4 L; N; D for(var i=objs.length-1;i>=0;i--) $ z" y7 O! i }; z5 F1 Q5 B' D
{4 d( K' H% T& d e. H, l$ m* a) p
var node=objs.item(i); . [3 ?+ {1 z: n2 b9 a3 w) m0 W% i
% x% B# t) _% e0 f ! k \4 u! D$ D* b0 w1 y# T
if(this.getobjstyle(node,"display") == "none" ||
{# `, g' e4 C& q8 w this.getobjstyle(node,"visibility") =="hidden" ||, d: K6 {$ k* I' m& l5 n( k
parseInt(this.getobjstyle(node,"font-size")) == 0) , c/ j5 S% }/ b7 n+ l/ m, Q) h
{
: |% F; ^! `' [3 u6 ] h3 ^3 g if(debug)
" ?2 V X) }4 X2 ~5 l" H {
( l) O' h% t+ y' E alert("remove invisiable!");
/ f+ q! O3 z/ [( ?2 J- O9 N }# l8 o1 Y& F9 M, g: F* |
node.parentNode.removeChild(node);
( x3 |& {: G9 q# R; h" x
) ]( p9 A! v6 y5 b0 {/ G }/ E. a' t. ^ o7 U9 _3 R0 D1 ^
else
4 ]2 H0 M% I) h; u B4 S1 e2 | {
F6 l! {1 ]7 c* R' R o if(node.parentNode) 0 Y A# Z0 v9 `( l
{
8 \' q; J/ c0 l7 R) Z var orgNode=node;9 Y9 b. S, F$ S; `1 \$ _6 E5 \
var orgColor=this.getobjstyle(orgNode,"color")
2 y$ }) |: T7 [+ ]7 S4 G4 V var orgRGB=getRGB(orgColor); ( I( ^+ P8 ]" k6 n5 _5 O- ]
' U! e; O) R4 \
var parentNode=node.parentNode
) p* r5 ?4 t. O* G+ v3 ^2 A var parentBgColor=this.getobjstyle(parentNode,"background-color");
8 G% H* o8 {' `) Q" D & ?/ c, h! Y+ D* v" X
var isLast=false;
& b) l7 e8 v& u4 r. P 8 v9 \/ C9 B1 O6 ^* G' s* e
while(parentBgColor == "transparent")
6 P; k# X* {" Z2 c) q {) c5 ~2 U& m$ \' t8 J, v
6 d% S8 L0 h) W( U) v3 ]3 j! h 0 N7 r5 ~7 J# p6 A& Q6 V; \, o
if(parentNode.parentNode == null)' A2 ?3 b* m; o G$ W2 h- V
{) _& T( ]7 t5 I0 B# r% m) h+ C) y
isLast=true;
3 ^. D$ h# N/ a7 v, }. I- \ break;
) x6 R2 t' {3 ?* i2 ~9 c }
& s5 r& B3 f) T( M% d parentNode=parentNode.parentNode;% y4 y* M$ j3 Y
parentBgColor=this.getobjstyle(parentNode,"background-color");
$ Q! z: [8 Z! L" D9 n4 O( X5 Y
if(parentBgColor != "transparent") 3 D z# o! O+ N9 g5 {& y
{
9 G2 q& A0 o/ _% a } P4 d- Q break;
" Q1 F, i5 Q3 k. U; V }
0 t0 v, X0 a# V# U$ x Y, S }# Q/ T* i0 Z [- R8 K* J
if(isLast) , z/ \6 Y0 J' J( s
{
4 e; U7 \: j+ O! h, } if(debug)
2 e0 i6 O- l; Z( w$ H1 ` {$ J5 I. k- U( L3 _" q
alert("last!!");8 l( f# L( G! K8 x
}
. c0 ^: e$ |2 r" G6 m/ ] if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
, z, f7 b; I$ `8 d8 N( z" P- k) ^. v {
& E# B& |7 ?+ b. f3 m- Q8 h orgNode.parentNode.removeChild(orgNode);
( `& ^/ |$ S/ ] } I' e' q3 {' [! B1 J
}1 P3 |5 N( q+ {: ?
else, a& U) d' r X8 @, K
{$ n$ t# x+ P1 W, N L, i
if(debug)7 S+ f2 X& Y; F9 j
{
7 q' D( h- H% U8 I+ V( W alert("compare color and parent bgcolor!");
+ E7 n$ B, C+ ^ }
+ ]- k. C0 A. z" [/ } parentBgRGB=getRGB(parentBgColor);7 f/ @- n2 o( T; M
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
7 H) T4 G' j5 r' E! s {
2 d: l. s2 {1 e" o/ N- K/ C orgNode.parentNode.removeChild(orgNode);
* W2 V6 V8 T' w9 d }- @! K& Z( m% ]# j
}0 a! g/ _# W1 D, I# v* V/ a
}& v; C0 f$ r/ Z
} E' H/ W4 a0 t2 H% d1 @( Z
}
, j9 w4 D8 u$ J }3 g$ @: Z" l1 y, N2 q
& z& [# _; \4 a: L w
( m+ [( Y7 d4 @+ e$ A' [
var itemFrames = page.getElementsByTagName("frame");: Z! j9 }7 U2 G Q
var itemiFrames = page.getElementsByTagName("iframe");
: Z/ q' f+ n4 P0 K
! M4 R5 Q0 T) b8 x1 e) Y- B' ] var frame, iframe;
; Y; \$ K4 l; Z/ ^7 ?- ~8 f if (itemFrames.length > 0)
/ M% }+ m" f; v5 L9 [: ^ {
% f+ _& d" g0 D( ] for (var i = 0 ; i< itemFrames.length ; i++)
3 N# p. Y$ w8 Q2 _8 T {4 |. N" Q' d$ c& s5 `
frame = itemFrames.contentDocument;: V6 K8 y! e" F% B: V
this.RemoveHide(frame,objname); ' e. B! o3 I! H0 Z a
}5 e* u& Z! D- O! \- T" f
}( x' w+ {; i. h8 ^1 A
if (itemiFrames.length > 0)/ X! ~/ P: k/ M; v( q: o. R3 U
{$ s) R, A" X4 A& x- u" W! j3 d
for (var i = 0 ; i < itemiFrames.length ; i++)
1 V& E+ H- D V4 z {
& B5 U' J0 R! ?% Y- D V: `7 {, ^( m iframe = itemiFrames.contentDocument;# |: F" b3 J/ m) s# L4 Z
this.RemoveHide(iframe,objname); ) r9 z, _" N& @( c2 u* {+ `8 _
}/ c/ N8 p: t1 J5 j& Q4 e' q
}0 R. x& V* V# f$ a
}
' U5 _7 \# _6 p% z' y2 V catch(e); x* i; u: N: _% _( Q: f9 f
{/ j1 e4 r. {4 z: ]
if(debug)
6 W5 n: a, j0 [8 \/ } e {
$ e& k$ ?/ o1 [+ q6 C+ a alert(e.message);
5 v9 R# O9 S8 n0 r0 j5 D+ \. Z5 g }
, Y# }' e, ^* p+ Z# H3 j }9 _* r% n4 f8 }: \
}
& L3 J: S0 H% G U) h 0 o; \" W( s7 o
} I) e' ?2 I i; K
* `# ]% x. l+ g, Q2 w. c( Z
function getRGB(colorString)
2 h* X- _- H% k, I( [, d" V# Q{
' _8 c, w* ?. v/ T var RGB = new Array;) \( y" |2 \) @3 F
var tempSting=colorString.substring(4,colorString.length-1);& n8 o& b% j+ ~$ H
var tempArray=tempSting.split(","); P! ?8 j' \& f, h: m6 ?8 Z
& w/ E3 n% Z; a" { RGB[0]=parseInt(tempArray[0]);5 b5 o1 z1 C+ L/ J- \, d4 D( u5 y
RGB[1]=parseInt(tempArray[1]);
: q2 R3 ^+ O9 x% g' f; h5 ~ RGB[2]=parseInt(tempArray[2]);# k9 X- X) v6 I
. I2 O5 x2 f+ A+ O. f0 d
return RGB;
! `5 e4 f1 b7 l& `+ h/ |}
7 {0 h: E6 g8 u- b" Dfunction keys(evt)
9 I4 u" f% ?- I; ] g; w { " }7 x, k* Y3 x! E! B' i3 n8 L
if(evt.ctrlKey && evt.keyCode=="81") % }% n, F+ I E. D, P/ I
{ * s J1 T( B5 b( C# J% x
CleanHideObj.on(0,1);
/ q- \, [+ p1 z u7 o J alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); B; e7 f# n( k( g
6 [! K, c4 T) p! F
} / m- Y# L% m; ~) A% z
} * B9 C, Q5 [0 `
document.addEventListener('keydown', keys, false);
" z Z* f& K; t, s- c6 v/ R. G/ vGM_registerMenuCommand ('Clean Hide',
$ w. R$ X. K7 \; C- i8 wfunction(e){$ S2 m6 e+ a+ F1 Z( P1 }: x
CleanHideObj.on(0,1)4 _' }* G; M* U0 l
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
* n" d& m- y5 D' c! @});$ d* i# s& p# `1 z/ ]6 o) a
|
评分
-
查看全部评分
|