|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 7 F8 H1 z9 |7 R6 R8 v5 V; |# m/ u
# |8 `* h% D$ m9 J d; A1 ~火狐插件,用猴子
7 X" a+ W- }7 d6 c# Q3 `* ?
7 K) x" M( Z" Y: |var debug=false; % {: z# C( q9 U# I; \3 ~
var CleanHideObj=new CleanHideClass();/ V: \' l. G* ?: V! t
) z9 ? e; c' p
function CleanHideClass()
) k$ J* l' b2 N: D{ , |+ V- v7 |7 L* G/ w2 i
: B- M& a7 |+ }% F) G# Y
this.on=function(id,bMZ)
8 }4 E' y2 Q5 M3 i. r. y {
! B' V# W2 F V& ]1 @$ X 3 P' e8 h2 g$ m( B. m. V* i s$ V& D+ K4 s
if(id == 0)' c8 X7 K' a- E4 }0 d# ^# ?- u
{
R) p7 Z& K. K5 B4 |; M var page=/* document.getElementById("content").contentDocument */document;
% ~# G1 q0 i: d, f- p this.RemoveHide(page,"span");
/ t+ x$ T* j0 [ m# ], M this.RemoveHide(page,"font");
6 z0 |) x. u& s) d d4 E5 R: g this.RemoveHide(page,"div");& m( ^; D$ S' n! J6 H; A$ T
this.RemoveHide(page,"p");
& C5 f n+ d- o! T 0 n7 f9 Z. x5 P4 ?6 J
}
4 W8 B. A4 _* v
; S! r Y$ ^. N( B: |8 r% \8 T }
J" S: l3 g/ q9 z this.getobjstyle=function(node,prop)9 k0 A; j2 P* d0 i
{1 \ |( ], \/ o0 p* h* X
try1 z! I6 @ q! I( n1 \
{6 h1 N$ \. k. _" h& W0 U
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
! P0 i& ~8 q# B5 [ }
2 M$ W, y! w6 J# t* g& \) \ catch(e)
% i) m2 i9 L) j) a6 Q {
- u+ G/ P# S) _" G4 x if(debug)
0 ?/ r# G, |+ S' H9 o( o( u {4 m" W1 S5 n- W( U
alert(e.message);$ ^1 c0 K# K% ]' p% p
}) K+ k9 ~& |! x5 k1 I8 b. _
! c& f9 z" D, V; e
return "200";; o! T6 i3 E4 K# B) ?8 x$ C
}. t l+ j6 W. y: `0 O
}
/ a* b; l8 c6 H
3 J6 f. B& I# A6 ^$ f3 J! d i this.RemoveHide=function(page,objname); i; J& D& b* ]/ K
{
) D9 `& m2 d* _1 x: U8 r5 R try! x& ]+ j( V" C. ~; L9 S4 E! u
{ c- h$ |/ S9 S0 F/ V# c; z
var minValue=15;
! Q+ u( r0 _# k( e var objs=page.getElementsByTagName(objname); 9 q3 n4 v+ |* b9 H5 |
+ i" z& N3 P. e4 e8 G# [
if(objs.length == 0) / z! g& z& {% O7 d/ P
{5 k: c7 D- G( ?3 P( `( V; R
if(debug)
3 \& D+ h& e; U* N {
' I8 i m5 z- Z# z$ S alert("no object found!:"+objname);; C$ J3 J! u6 S
}' l4 \) C* q/ K& u
}1 p0 s7 G( | \# X4 k0 T# B/ g
else9 M; |1 d8 c* Q' A6 K* _
{ V& P# x# P) w; X) |1 b0 K* N. @
" ^; G) Q+ ^4 \! v% P for(var i=objs.length-1;i>=0;i--)
1 r1 v' d) C7 Y- l2 j7 y {0 J3 r9 T7 q; h
var node=objs.item(i); 4 M. J% {5 w* \# F, K9 R( O( d+ M+ }
: `8 N( v- c- U; a3 t
1 u# R0 Z/ @* Z5 }$ }7 r4 I/ Y# {; ` if(this.getobjstyle(node,"display") == "none" ||8 S8 I9 o9 y' w! S
this.getobjstyle(node,"visibility") =="hidden" ||5 P+ _5 W; A: s
parseInt(this.getobjstyle(node,"font-size")) == 0) 4 |5 r2 H# Y- a
{
8 l3 l# |9 H" i6 M2 H if(debug)
5 l3 ?/ P, Q) P& Q" [ {
8 J! |; a9 T1 N alert("remove invisiable!");
. e, G5 T" e) I" M8 w1 ~" y# i }" {! H$ m& `6 ^8 |, Y8 f# j
node.parentNode.removeChild(node);. q' b: c5 m3 c2 [
5 A; i. s( P$ a1 e4 P0 j4 c }
0 y8 ^* u8 o! Q* ?& G+ f else 9 Q! H3 c: }; x% U9 t7 U
{' B$ E: _( v: D' ~
if(node.parentNode)
+ h1 f( d1 b* C, y3 `" M {
/ I- @# ~. g, {8 s, r, f var orgNode=node;
1 n8 `) S- {% X( D8 G+ M var orgColor=this.getobjstyle(orgNode,"color")
8 E( S I7 n1 L# l var orgRGB=getRGB(orgColor); ; z; s8 g% v' A
; ^% i/ E: X) R" {% q
var parentNode=node.parentNode
^# y9 P0 r, K0 C/ b" x0 G var parentBgColor=this.getobjstyle(parentNode,"background-color");9 u! e/ x5 g0 q& V+ X: m
) o6 T$ x9 k: c var isLast=false;7 J- b/ i) }$ y& r( {/ W, |
2 c7 M Y0 y; U% ~& [; T9 w4 r while(parentBgColor == "transparent")
" Q% S+ B# ^4 C: J/ P {
# G: y2 n; l' S" R9 T 9 T# I) v9 k( C, z- U' n8 h
- P3 Z$ h& k# T8 n
if(parentNode.parentNode == null)
2 \1 T B1 v! ` F+ _, Y0 u. n7 o { r- v6 u. H5 ?0 x' b6 H
isLast=true;
' X* h. H0 L# q6 C" y7 R! w8 q break;
6 f# ?; j' x8 n( h5 N }
5 f) y$ y6 b8 ~: J parentNode=parentNode.parentNode;
w5 \$ w% [' _* T( v+ E3 |, b parentBgColor=this.getobjstyle(parentNode,"background-color");
7 s" @) w% W3 m: l
! k9 Z# Z" F6 [' T- y& B if(parentBgColor != "transparent") + K. i: t/ H; O: Z
{, `( }* K, n) ^; e4 Y' d
break;) `) p* n4 p6 l& V' {& n& k
}6 b# V2 Z7 @" U+ j% f
}
0 G1 P$ G# g Z' Z; x5 k if(isLast)
# g: y; q* l1 c8 w3 N3 d6 |4 ?0 N, p {( ^! A. w' r+ m
if(debug)
* ?3 S. D; W" r) @# [! K8 V0 b) Z {
5 X+ d0 `1 Y& }5 {- j! l& p alert("last!!");% p" j6 G& ~9 R9 a' S
}$ B. F0 n6 j6 D- |, p* b( O
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
% i7 d% B& j" g3 m8 n+ m, c& d {
: M: [2 B5 ]4 [; I( Q orgNode.parentNode.removeChild(orgNode);
3 D2 K+ S# I. N7 {0 L }6 b4 w) O" l( X. ~
}$ Q& w) o( E- a/ c* [' P6 L/ }! f
else
( k6 T) W. Q8 p" Q/ c, F; S {
0 D6 l3 z" Y2 b2 T$ ` if(debug)
% I7 r& u9 E6 k1 o$ v: L( p' Z {
+ N! ~3 F) g7 k alert("compare color and parent bgcolor!");
+ h& L" w! i; _3 n3 A% L! a' D } g& _7 ^+ W6 j3 X& m( B" R+ ^
parentBgRGB=getRGB(parentBgColor);
8 N3 { R8 A# D" c5 M3 O9 g if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
# C T5 ]- t; M) {, C# K {7 H3 ^, e) y& {3 I* W" i: k
orgNode.parentNode.removeChild(orgNode);
8 T5 h# Q& S1 h/ r. b }
; P) \5 Z3 @' Q3 [. T2 g! k9 k }1 j! P- G& A4 r6 W6 q0 I& M
}* t! o/ x N) Y5 x$ N" _: D
}
8 h9 M! |! f2 W8 `0 g) C c' n+ m! I8 u }8 @; Y+ F {7 t
}" B) R& [8 n3 A1 M0 h0 V0 G
$ D/ Y/ K% N9 b9 M' ?" {( m6 ]
+ e' _' |$ \+ @$ F2 Q, @) R8 s
var itemFrames = page.getElementsByTagName("frame");' v1 t* X/ W. T/ `( \$ A+ H
var itemiFrames = page.getElementsByTagName("iframe");/ D5 U7 ~* T6 b# z# d* R* k9 g
6 C+ E! o# g. b) C5 G6 W9 m
var frame, iframe;0 {5 E3 V7 o L+ j9 z
if (itemFrames.length > 0)
5 G; c7 R" {9 D s: J/ T7 L* z {
7 H8 F; M! p! c/ i% b for (var i = 0 ; i< itemFrames.length ; i++) 0 T4 } P4 G! O/ T3 ?' W# B
{* D$ v* r; ^. r j* j) L
frame = itemFrames.contentDocument;
; A1 F9 e7 q L this.RemoveHide(frame,objname); ( z, ?# @& {; |# {1 Y
}
- |; @3 }$ Y$ t3 M4 e& b }% G; ^. w; }; J1 x# A/ G/ j
if (itemiFrames.length > 0)9 J1 M. Y- q" Q
{
3 H5 m- {1 M4 p3 b for (var i = 0 ; i < itemiFrames.length ; i++) 7 e' m4 X" u( e. k$ a- F8 D
{
( z; R, V" `4 R( S/ V5 p) d iframe = itemiFrames.contentDocument;
6 Q! a5 d! a( k; P1 T; Y/ o this.RemoveHide(iframe,objname); + {7 X5 }& S) v" U
}
8 r8 {: a4 W* r }& I' F- z3 b0 I) r/ o
}- ^* `3 i8 v, G% M) O
catch(e)( m t7 n; g' B- s7 L; b$ r0 ?
{6 H. M' q& Q0 }5 o! S3 a
if(debug)( I0 D3 C$ C- t( b s
{
. n7 ~& a( l5 x2 O6 @ alert(e.message);& @. k7 z' F3 t# q& g
}
; T9 E( l* Z8 u: N+ h8 S6 q }6 j M* a9 n( C2 Z E3 e! H
}
* J0 M$ x6 M2 b1 \# j( U
y3 H, O) M# H% d, b7 b% ^}
R3 v1 @ F1 P, o+ w* G! E5 d' R/ C4 Y7 R8 t. R4 I
function getRGB(colorString)
0 e, {& s+ e$ R/ U4 J4 g{
) Z6 r: ]' Q& V4 N- c; d0 H8 o var RGB = new Array;' c# u+ o# Z, R1 ~9 s% ?
var tempSting=colorString.substring(4,colorString.length-1); t! S8 B, c5 o# U' d# ]
var tempArray=tempSting.split(",");& t7 w7 w5 h& N1 v( O" v4 P5 p
# }% d }% y% V& M$ J+ T8 a
RGB[0]=parseInt(tempArray[0]);/ h% p% Q/ x, _ W+ ^8 j
RGB[1]=parseInt(tempArray[1]);
p3 v. ~9 l$ S5 H3 c2 l RGB[2]=parseInt(tempArray[2]);; q$ v. M, r" I
* b8 h$ C- w+ @
return RGB;
4 x: R. o; k6 C9 A}
) F5 [2 n2 t$ r+ p6 K6 k- dfunction keys(evt)
, z3 e q0 n! |4 e( w) Q {
, O4 ]0 y0 p* a: u1 w" s if(evt.ctrlKey && evt.keyCode=="81")
" O+ W7 \) D9 U. P; e+ K1 M% o {
! X5 d4 D Q8 s* `2 v0 [ CleanHideObj.on(0,1);- u% i7 a; Y: j% r, @) p* U% M: p
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
3 v2 v: v/ A% d/ D" p) y 0 s0 w0 {# |1 ?. Z- l
}
( E0 D5 Y7 Y$ l* a9 R% K' M }
/ t7 N" r0 m- S1 t2 i+ sdocument.addEventListener('keydown', keys, false); + l' D# l! w( A) R' q
GM_registerMenuCommand ('Clean Hide',
l8 K. _, {7 A8 F5 j/ rfunction(e){5 [8 p: R! k6 y5 V
CleanHideObj.on(0,1). i6 ]' d8 e- W# Z, d
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");4 V. V4 s0 ^$ P% j
});/ p! z, l6 W4 [* T* O. i# }
|
评分
-
查看全部评分
|