|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
0 e3 I% x9 c0 B& f6 I7 {1 J+ a* k) t; ?5 f) J! m: ^0 ^% Q
火狐插件,用猴子
7 T$ E, X& G: l' X0 Y; u0 g& A8 I" @
var debug=false;
* a. U# o$ t/ x$ S" @9 Tvar CleanHideObj=new CleanHideClass();- B5 }: |: B7 t8 f) c/ Q: n) O
6 p S3 {* e6 E r! h
function CleanHideClass()
& x- f# u; o, {- g4 |( g5 g{
, ?' ~ y! C9 k* B$ e% h) i
; |* D6 ?( Q8 D3 H7 h this.on=function(id,bMZ)
; L( g0 k5 ]. V/ m& Q {& B. a) z/ ~0 o
# r& _' h6 R; E" V# d, Z/ f
if(id == 0)
+ ?) Y) C4 ^) S4 A. g- r4 L {0 o$ d( p9 [4 F" A& Y: T& I; {
var page=/* document.getElementById("content").contentDocument */document; 1 k* j" ]/ T3 O6 V/ c
this.RemoveHide(page,"span");. u& y1 Y6 J. R3 \& W. v
this.RemoveHide(page,"font");/ U6 O- r4 M$ z) U t ^& e8 t
this.RemoveHide(page,"div");
6 J3 g# K# N' x3 A |$ f3 J this.RemoveHide(page,"p");, @9 W0 Q5 |4 O
! p6 v6 x; B9 S$ T, A
}
$ @, Z4 \0 x$ p3 s# p# r, A7 [! b # `3 ]1 x( U; F# s
}
0 `# ^) y4 @2 n; s4 H& ? this.getobjstyle=function(node,prop)! r. s$ u% H$ L3 o/ {1 y0 Y* V2 ?4 F
{, P& x3 ?4 p {" o- p k8 {
try; |, J* j; y7 w7 Y& j% T1 Y
{
" b; e$ Z4 d/ g9 x6 Y$ O return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
. l- \+ P' k/ C0 V+ E }/ w; O3 D& I, h
catch(e)
8 U* B+ N" j& K% @ {
% H8 T6 N2 d" f3 H if(debug)% ~& {- B& V u' @ ^+ N9 G3 R
{
" l$ ~0 N& ?( [9 I7 `' ` alert(e.message);
, ]4 E9 E" M u0 d }. U- o! ~# |) v( ]+ g
# c( L, N! K! B; Z return "200";% i5 s4 g: N* w
}
& B* K7 q5 B v0 ?( [ }+ ], C9 Z; E" x1 j7 u4 `$ ^0 `
! a4 [; p& a' \- c3 S( M- G this.RemoveHide=function(page,objname)
$ l' a% z S: a9 @ {# `7 L0 p4 a1 G. G
try
6 S2 b$ N0 I# J5 i! }+ e& O {. S- k& [& Z5 |2 J2 [9 o) L/ }7 S
var minValue=15;
6 x D1 M4 E S$ R var objs=page.getElementsByTagName(objname); 8 f1 x4 S/ C$ W. p5 N$ t
& d g3 C1 h; Q6 ^6 C2 @ if(objs.length == 0) ! ^, E" j% Q9 H7 `9 Q. v7 B
{/ l- e0 \ t ` Z5 v o9 [
if(debug)7 b$ g2 t9 L6 g" q0 P
{
) x6 O1 ^# Y* b* a9 p alert("no object found!:"+objname);
0 L& B3 t( C1 R! H! w- u( s }
3 \/ B u8 z( F4 y( T }, j0 w" e+ ?. ]& a. ?4 v% d" X8 Q& Z
else
4 C+ {. A! A$ t- Q& p* {/ P7 K {; d* Z3 D/ M: I+ B) x
" o2 R0 Q; w! R% P& h2 E p for(var i=objs.length-1;i>=0;i--)
! X9 J- o: |9 l: c0 \$ P" ~ {6 x( a f, _0 N, u5 L2 }' K
var node=objs.item(i);
8 R% G" P1 f; M 5 Z5 `4 b: P; |# |! f' y
. U3 `! R0 o0 X9 f) _, ^0 C1 u
if(this.getobjstyle(node,"display") == "none" ||
& M2 H. L6 v; h5 l2 _0 ~ this.getobjstyle(node,"visibility") =="hidden" ||; S* @0 G& i; Z) b' j
parseInt(this.getobjstyle(node,"font-size")) == 0) " `7 p) [2 V+ J" J
{0 @# B7 c. _2 v( S$ g; U
if(debug)
3 z' R! ^& u7 ]2 h9 t4 n6 \ {: j. D. o/ R/ a* {, r( `0 A' f
alert("remove invisiable!");: k$ o% M5 k* s7 w
}! }7 X9 m! a! {" X g2 d* `
node.parentNode.removeChild(node);0 h7 \; d6 {( S) a( @& p
$ C% Z) C- w5 v' h4 J* I9 c }
% |9 X. u. b# o else
( k3 \5 ?" q$ t( i. y {# K* L2 q$ q6 i# C% V, J2 k
if(node.parentNode) 6 k, s. G# B; s. T
{5 e2 ^! n9 u; H1 \+ I0 J0 J# L
var orgNode=node;
& v4 L" B" v/ v var orgColor=this.getobjstyle(orgNode,"color")
- {; u* `) d$ w: t2 V: }% V, Z var orgRGB=getRGB(orgColor); 0 r1 n- k1 p% }! a
+ U7 m {/ D0 p( @& q( w var parentNode=node.parentNode" c/ }8 V$ q& V5 B' O9 A
var parentBgColor=this.getobjstyle(parentNode,"background-color");# M9 R" [4 r$ H% A9 M
8 c! E* _7 O: u3 k5 _- D
var isLast=false;& v) [2 M& A o: i
) p3 t) u/ l& m+ r0 i& [: s
while(parentBgColor == "transparent") 1 k* w- P( `1 |! c. |3 a
{9 c" e6 z! k2 S1 D7 V
4 ]; h7 ^" i: i2 e+ G1 M' r, Y
0 ]% H+ h3 j' R
if(parentNode.parentNode == null)/ L3 z) m! G9 d$ L) T5 `0 k* k
{/ w/ ]# u6 q1 W' D8 p* R
isLast=true;
8 n9 @; n! w/ c5 u4 F8 t break;$ a* D5 z% h: {
}
# B5 J! p5 H, h parentNode=parentNode.parentNode;5 a! }7 @* A: }* ~4 \6 z! O
parentBgColor=this.getobjstyle(parentNode,"background-color");+ @# f0 N/ J# e6 L0 \5 b
& \: F: a4 T* m: V2 g if(parentBgColor != "transparent")
; l! h9 [8 r* j" d {
5 ~ r- F6 s' ?- h) Q6 l break;! F7 v5 g, p1 r. S# a/ \" t
}" s& [' _- G, W( O
}
, }# r: @* A7 T4 m) w( L if(isLast)
6 F# o2 p" D0 L1 L, j- r6 h { A2 \! L+ }) l8 K9 \6 y0 Z
if(debug)
9 ?: \# }7 E4 B4 P: }; |' |# i {
; W1 P7 X( f8 y3 o# T alert("last!!");
" y4 ~( x; W8 j$ i }! o: u" N9 t2 z& k! b& S! Z$ M4 C
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
& H4 o% u! t0 b0 m* j4 e {
) ~% b1 K8 h% | orgNode.parentNode.removeChild(orgNode);
. z- z9 A" e3 | }) q8 k% l4 m% G' _) ]# Q1 m
}4 A# a; u* _3 N' ]0 P* j! _3 ]. ]
else
4 @# i8 ^# F7 m8 n- V+ D4 x! s5 Y {4 c) Q+ C2 `# A1 N: R
if(debug)# v' X4 E) u# K4 }( g
{
' ^6 V4 `$ T+ V$ U" W" F' P6 q alert("compare color and parent bgcolor!");, r0 a. t8 B5 `/ Z5 t) V0 D
}
1 l/ D8 V1 Z" }; ` parentBgRGB=getRGB(parentBgColor);7 ]' P7 Z4 E" P- j1 l: {
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))! H5 w( Z% Q9 D6 `7 U
{1 B# L2 `6 H) [) q1 [, l( Z ?) c- y
orgNode.parentNode.removeChild(orgNode); ' O: X" P4 e' j. S
}
( L0 i9 a2 N5 X9 q! ~( H; o }
A- b$ W: @4 N( J9 v2 S6 T% | }, l' J7 \, Q" l3 j, a3 E# B) Y% O; _
}
9 v- O1 _2 ?6 H% q$ E8 e$ l }
' Y" I7 m/ b+ k! f6 G I3 M5 P }7 ~( l% y* @/ j2 a# M$ o
; {2 K' t0 e7 N4 F5 D! t a3 n
4 l& B! ~1 Y1 N: ^" I Z4 k; ` var itemFrames = page.getElementsByTagName("frame");! {' D9 r; H8 V* ]& y
var itemiFrames = page.getElementsByTagName("iframe");, n \9 S( c7 x# _( @2 \
1 k+ S; {* l m% b: U2 c var frame, iframe;
+ a e" P$ @1 X if (itemFrames.length > 0)- R5 H3 l( n, {3 M' i! }
{: W8 y1 l: w6 i. x! _
for (var i = 0 ; i< itemFrames.length ; i++)
0 P4 h: ?6 g! j4 ]+ {- i0 V) V {
+ ~) z1 [5 C* L. s$ l frame = itemFrames.contentDocument;0 x( w8 s3 n. M( D) {7 X# V
this.RemoveHide(frame,objname);
0 F) i" G4 a& j4 D }
4 D" ?1 b; v% | }1 ^! \4 h; q" \
if (itemiFrames.length > 0)
, p1 r0 e% h* _ {
. s! ^1 F+ H3 l7 S4 @. @6 ] for (var i = 0 ; i < itemiFrames.length ; i++) , v' J; ?( w! x. @, N
{; }) Y- }) u3 s
iframe = itemiFrames.contentDocument;/ H( N! i$ e f0 C
this.RemoveHide(iframe,objname);
; J3 R, T1 a/ V) Q L4 p3 S }
4 J2 A e* [8 p }
3 P( b/ B. h: A" V) f }$ Y+ m- @5 W6 h9 B3 Q9 P8 p
catch(e)
0 p6 {4 |" \& ]6 Z0 V! P {% }% Q# q" Z: Z! ?$ Y
if(debug)
3 u0 X1 _0 K9 L {: E! y# E3 w* ?9 N0 }) {7 Q. m& h
alert(e.message);; i4 U3 L) @* b v
}
& m& U8 E5 T0 Q: f# ` }+ y9 `: `* h% M* S$ e [5 r
}1 D- F( i) z/ a: d( ]6 F6 j6 }
7 Q& H* l, Q; g( @2 v4 R% J0 [}
$ ~; p6 V% _5 ~8 l6 a9 ?
3 a- P3 s* _3 M+ _1 gfunction getRGB(colorString)0 [- V7 [& S! l _
{: f3 t0 q& X, R9 j3 Z: {
var RGB = new Array;2 g% T5 q2 t* V7 `/ D# n
var tempSting=colorString.substring(4,colorString.length-1);0 }" p9 Y) t- r) ` x: [. b# s
var tempArray=tempSting.split(",");
6 ~, [$ K3 B) O5 E$ j' O
7 ]! \; V5 |' K6 D* r# F RGB[0]=parseInt(tempArray[0]);% h9 _6 t [7 r0 H, _, W* o _
RGB[1]=parseInt(tempArray[1]);" t7 D. K0 W4 }# W% z
RGB[2]=parseInt(tempArray[2]);8 Z( A& f7 P \3 |& s8 s2 ~8 K
% w2 e+ z$ }/ A: |8 [- N return RGB;9 O. P! V8 y% \; V
}5 A6 c w. E+ _" {
function keys(evt)
6 Q# p$ A) ?/ a' F1 `8 g { ) H2 S* C: Q& n8 y3 S1 p
if(evt.ctrlKey && evt.keyCode=="81")
% K. i- j% e, \2 N c { . x v- h$ o6 ^. v# e6 R. h
CleanHideObj.on(0,1);. Y4 I* P, ^- H" X
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 9 Y4 V( ~' Y1 j, A0 a' }
3 h! _ Z1 ^% d; ~8 X
} - T! U3 F0 j# F6 `2 [
}
: R# n) n+ b4 Y0 U) N" H1 m1 Ldocument.addEventListener('keydown', keys, false);
) i3 L1 W; ?3 x% yGM_registerMenuCommand ('Clean Hide',5 B' o6 E' r4 ]/ C$ z
function(e){$ i& y6 A) s$ U" k0 t. X) x
CleanHideObj.on(0,1)# L6 e, h4 u" _) v
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");6 ]" p4 C/ I- v f, ^7 @- j9 O9 ^" z+ l
});* Q, c6 P1 t7 [" Q& ]! r4 [0 B
|
评分
-
查看全部评分
|