|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
; B: n) Z' H- f+ \: k# g
6 a. i- j7 X8 s; m. [9 W1 r火狐插件,用猴子6 s9 _4 ?' \7 m$ M7 L1 @
9 N4 z; O, c" Q& ^# m6 y
var debug=false;
# H, f9 T0 }. L" ]. x' Rvar CleanHideObj=new CleanHideClass();
0 C* |: y: l4 O7 m' z# |! z; l X* K
function CleanHideClass()
$ H5 {; Z0 R! n0 H. e{
G7 J0 _% Q# E( \4 y" ?! y0 } ) J0 _8 D( c5 T( k( \
this.on=function(id,bMZ); h: z* p4 [+ s" h0 T9 T
{
$ V% e* U0 N/ i! _ 0 C) d1 a7 A5 X) \; Z" p
if(id == 0)$ k1 N% h3 |9 g8 x
{
: d' ^( q1 c | var page=/* document.getElementById("content").contentDocument */document; " d6 b' O# J, u3 R
this.RemoveHide(page,"span");0 e& {4 W9 |6 k) @" \3 S$ w# a6 t# X
this.RemoveHide(page,"font");+ M# s7 k' R! x! v
this.RemoveHide(page,"div");. J" m& f9 J: t( I: v( o$ h
this.RemoveHide(page,"p");
# ~4 N) e5 h @, W! n) ]+ \ . J! X! e- X& z" P2 P# b3 o
}3 d$ `# I5 T# A F) L% i
+ v. C8 X+ g! @6 }9 J
}7 D- d* r% R' [& n
this.getobjstyle=function(node,prop)# Q# [4 Y4 a2 R/ T
{) t y, z7 c5 p) {0 M% g
try
( M, }* c L' p8 @ {9 r- r% u1 o/ T, l' V6 C. f/ I- u# k
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);( [* y/ L0 c3 L( u
}
* B) o8 g1 V! |# @/ f catch(e)0 k7 F3 I8 Z/ {6 C( Z" {
{4 ?1 B% V F/ s8 @7 u" [# m) r
if(debug)) ^, |# j! ~( s% E8 N; G
{: N$ B6 m! z- c* t* N
alert(e.message);
9 k4 `& }1 v/ } }$ D1 {* }) A- F9 S3 }6 R5 K7 n# W2 L
$ \. ~' P7 s* y2 X
return "200";0 j! Q: |+ ?9 [$ `' V$ r& a
}! {: ^2 P2 [, s- Q* E: F
}
3 d2 f" X" W4 J, N
2 O4 m) _& n- W) G- y this.RemoveHide=function(page,objname)
) [/ k2 u1 K& B- i- V/ {; D( Z! ] {2 d( O( W! P& P, d
try
% ^: M3 z; S4 ~1 o0 F4 D {
" ?! r Z, ?7 g' r. d! S4 S var minValue=15;
# G3 i/ h% r) T5 S! N* F" t/ v) j9 e5 } var objs=page.getElementsByTagName(objname); ! y- S) i% e+ q% r: {
; w' w/ k. M! W* ^ O; P. N" O- Z- ~
if(objs.length == 0) 7 Y9 J1 B& G: S+ m$ v( H
{
& o+ {" H( ?# N Z- V if(debug)
) U; P/ V2 C' w# D8 P( X {, b$ T# N" u7 X: p/ Q9 b, G
alert("no object found!:"+objname);8 h) _' S# v8 }. `9 K/ ^) Y
}% v( x# ?* P6 d( `, d4 z6 }
}) e$ ~$ s% a" @5 a9 ^. T& t7 n" U
else
' k% D- E' S) C0 B1 O {
& c, |; G! u* W1 N. @" { 4 R# g/ Y: `) j
for(var i=objs.length-1;i>=0;i--)
1 e+ j. x% o- b! \$ F3 ` {& ` N8 Q7 d' l2 C1 }8 a+ Q' `' C$ V
var node=objs.item(i); 0 }" O8 C2 [# C4 k0 |1 @# @; ?
# b' s6 h' g e$ L1 ?; o
5 v3 U* ^. e; Q7 ?& W/ M1 h% [ if(this.getobjstyle(node,"display") == "none" ||2 o. z; e3 S) }! g# b
this.getobjstyle(node,"visibility") =="hidden" || m5 J7 G) S. {' z( \8 s7 P
parseInt(this.getobjstyle(node,"font-size")) == 0) 2 }% M C7 t' f# _3 l
{" G0 w$ K) B8 {( z7 F
if(debug)5 {, q9 K: }0 ?& t
{
x1 U, h1 J" n& q alert("remove invisiable!");' t5 }1 R$ m1 q+ I! z; t2 X: h
}
$ w* d5 s& a) j8 e9 D node.parentNode.removeChild(node);6 L0 \: Y. N4 I. f3 ]7 p, F
; `, ~+ @% x9 k8 j$ ~
}
1 w1 n8 Q& Q( g+ c else 6 ^1 d+ c! Y8 f" r* h8 w- {
{7 P8 B( o& q1 W v
if(node.parentNode) ; z4 R- s7 R8 L. P! ?
{$ Z8 U s8 e8 x5 H! W
var orgNode=node;$ T5 C' S& r: O' b% {
var orgColor=this.getobjstyle(orgNode,"color")2 X) R- [5 C+ W \* [6 x
var orgRGB=getRGB(orgColor);
1 Y; G2 {: A# K6 o5 o; U8 r: N
+ j" T0 q( c; L- S# H6 F- B6 P var parentNode=node.parentNode
) T2 t7 G$ _4 [ var parentBgColor=this.getobjstyle(parentNode,"background-color");# r- P/ C. K X. T
+ k4 x( P- s3 O9 b var isLast=false;
3 H- W& {: A% G' N, |1 L7 E ! J4 ^# a0 o/ w
while(parentBgColor == "transparent")
: x3 a* n5 ~- h5 z- C0 Q {1 r) I! b9 f7 k1 P E% r
. B3 T( V, D3 u
. U5 O' T7 i! \% e. \ if(parentNode.parentNode == null)
$ W- l9 [) n# [, p2 Q, t! h8 O {
6 E' A: X# v: r% p isLast=true;4 k4 [! `1 x N
break;
6 s; j5 U/ ?* o5 J* `; p }
. O$ @, }4 `3 H- h parentNode=parentNode.parentNode;4 G% _, r* m. l4 x( M
parentBgColor=this.getobjstyle(parentNode,"background-color");; O% U8 R3 H& p C6 ]% ^
# l ]' A$ ?2 [" j* A
if(parentBgColor != "transparent") ' V* C. w5 y8 j. ~: `$ N9 B3 \! P
{2 {5 e! d! J1 g! B
break;
7 i. M! s0 u; y7 w8 J }
1 t, L7 o/ M8 E* W! h }
8 k9 P) {$ H0 _# J/ R- o5 s3 _ if(isLast) : E/ ~( r* |' E g% m Z
{
# V8 x( W8 ]: p6 ~. \. D0 H if(debug)
|5 o$ O3 i- G t6 Y1 z {5 I+ }6 f: f+ e8 N
alert("last!!");5 I+ p! F$ `$ w2 N8 C6 L b
}
- x2 j8 V* F0 H$ n if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
% P) l, p8 t6 Y9 F# d9 j" j& N {
! f, s+ L$ u4 F orgNode.parentNode.removeChild(orgNode); 8 _/ i! J( h! m, W9 e
}: @% e& k7 ~2 \- x4 x8 d) j& \
}
: Y m% O! w2 R4 f& K else
- J6 S( h" t) ~! A' ?! k" l {# f5 c7 o2 b$ {3 k; A
if(debug): w6 ]/ j( A' ]4 g' C
{
% }8 Y$ E; l0 b2 B' n* ]. K alert("compare color and parent bgcolor!");9 `7 `3 u9 q' z6 m+ c
}" U' c% ]& U9 v8 H' b/ @0 [8 P
parentBgRGB=getRGB(parentBgColor);
0 q6 t* G8 s5 u; @6 G! P# z2 P if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
. P5 E( ]0 `) q; L0 f {
: E% g8 X+ `% V: N. F orgNode.parentNode.removeChild(orgNode); + u( |# d l7 f& ]) P* N
}4 q, N5 L* N+ ^+ T7 t; [6 o7 x
}- o8 f% q, W3 _9 C
}7 v( G `( @4 S2 p+ b
}
- _+ `# g( N, q7 g; f2 ~ }
6 q6 J Y8 L! R: y2 h+ f1 I }
9 M5 Q1 v9 L8 r: ]% L1 z$ u 5 T/ y c1 t; R2 F' D3 v1 o- b
8 E& d/ k# m' z; Z6 K5 a
var itemFrames = page.getElementsByTagName("frame");. U6 n: C- A9 h6 X
var itemiFrames = page.getElementsByTagName("iframe");/ Z4 t$ ?9 b; q: w7 p( S9 d
9 [! B( Y; i6 N! O5 g var frame, iframe;
6 k4 G! ~$ ^9 N( ]1 n# K6 O if (itemFrames.length > 0)3 X/ y, K7 o" e8 b
{
* z. E. z6 p3 g& O9 Z0 q R for (var i = 0 ; i< itemFrames.length ; i++) . G q6 Y2 ?7 o B
{& Y; B5 [& E% U; [1 y
frame = itemFrames.contentDocument;# j6 _$ ~& q% e1 C
this.RemoveHide(frame,objname); # I5 I: D+ N- j' l- d
}' l+ D9 t# A* R/ q, a+ t5 Z
}) M% }$ w; d: E0 v6 |
if (itemiFrames.length > 0)
4 r# ?3 Q1 c1 a. j* B* G* n! c {, B" U$ K" W% u7 _' b- L
for (var i = 0 ; i < itemiFrames.length ; i++)
3 d8 f% n5 y8 T# G Y {8 H0 |5 O- m2 _$ Q' B
iframe = itemiFrames.contentDocument;
, Q3 o( h- L- C) I this.RemoveHide(iframe,objname);
" N. n# J: k, T% ^- x. M. i& E }" z8 @( a1 r3 Z* A2 y* i
}
( _7 ^+ t/ f) K3 w$ d* ] h }8 \8 l( m! U; a' S$ @
catch(e)& e. P# N3 h! {+ V1 d8 D9 a9 \: N
{
; {/ E7 O+ g' X7 z; V9 q if(debug). Q G6 r$ A" O, d! @' W
{2 N5 l% c) t6 h& A* H$ \3 }
alert(e.message);7 ]+ G( z4 o7 d' a" j' T( J
}
7 C0 t$ b& j. b; E% H0 C+ j2 W: W } H: P. m8 s1 V" C3 T' o N
}
# I2 d: s7 V" S/ {' j8 Z' c$ i
n A: Y6 ?" v}
5 j2 n2 y9 e) N6 D# B& r% R9 K1 D0 c9 |/ G B; V
function getRGB(colorString): w4 s) ?. ?9 X! r* B: Q5 U
{
! t! p- B3 a, y var RGB = new Array;
$ K9 I. f- i1 s6 [: w var tempSting=colorString.substring(4,colorString.length-1);
S( A5 _9 P) Z2 U6 z4 y8 n/ ? var tempArray=tempSting.split(",");
! [" E6 Z( p! n' K7 t: o$ q- N8 O" _/ H* D* _. B2 L
RGB[0]=parseInt(tempArray[0]);; T g% ?; o3 |% D
RGB[1]=parseInt(tempArray[1]);9 z7 Q& n3 M. k" U
RGB[2]=parseInt(tempArray[2]);
" ~% U* G# b# o+ I6 [ ; F2 A7 I J* p" ^+ O2 r6 Y
return RGB;$ P2 q3 N* @, P7 O- c! I* e
}
* I6 O+ j# q3 c# qfunction keys(evt) " e, W5 U/ ?( @8 L4 e0 r3 G
{ 9 U- }- U. C" }) a7 I/ ]3 o) b) q
if(evt.ctrlKey && evt.keyCode=="81")
( E# X& g B2 c+ F0 f { 5 {/ L, F+ f( h1 i, \& u2 V
CleanHideObj.on(0,1);$ V; d0 s, [2 U7 s. w1 G" T: Y- p
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 6 q8 i+ w j i" e5 H0 ^! n6 C
5 ?. o3 j8 n* i# q. [. R$ W }
* u: _$ p! v0 T! z; U5 X } L5 o) l1 ^: T4 r
document.addEventListener('keydown', keys, false);
1 z: n0 I, O3 X+ p( ^, d fGM_registerMenuCommand ('Clean Hide',
! _" C% M$ g# B! H# m* C3 vfunction(e){- I& K0 x* Y' j8 [: I9 [
CleanHideObj.on(0,1)4 n# b/ G; ?+ v
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
8 N( b: S4 E( x2 B* d9 q});6 ]' t* b) r& N% |
|
评分
-
查看全部评分
|