|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
. M2 B: l+ E) e0 B0 x! @1 b* q8 D! l+ A) E8 V/ C7 |
火狐插件,用猴子 e" I3 K( s# F' w8 J1 M1 X
# F* _$ m8 Y3 E
var debug=false;
; i: z* Z1 f/ a8 M; A" q& Mvar CleanHideObj=new CleanHideClass();
0 q1 W, V9 O8 v7 V
" O) U$ w8 Z' t$ Q* a+ R% ofunction CleanHideClass()
: g% l; {( x: \{
0 g( }0 }) D" e% A) `5 N ) O# k: p: ^0 `* `6 Q V0 Y
this.on=function(id,bMZ)& Y$ b/ \0 z; D6 H7 V
{' e) M! b0 _. E
9 q, _. r4 f+ I
if(id == 0)
7 W. |# N# B/ F' O* a1 [8 f) W {5 o. Q, ?5 z- h% u) Q& k
var page=/* document.getElementById("content").contentDocument */document;
+ y S9 H; p/ @0 a this.RemoveHide(page,"span");. Z' d* W$ [+ @1 E
this.RemoveHide(page,"font");4 Z7 f; m' X$ ?! u$ Z$ c8 D
this.RemoveHide(page,"div");
; t! F- _4 M) R, b this.RemoveHide(page,"p");$ i% j" t" h O- k ~: [& J* X4 q
1 }+ z4 m8 S4 g5 Q) x+ j
}
4 C- c7 y( f2 k3 p) N! t) r0 a6 @
! r B& v7 g" q; T }
6 O: ?0 h& w+ W# I$ q( ` this.getobjstyle=function(node,prop)
9 D4 N9 v" C8 U1 \ {$ A" R5 q4 C5 B
try, w, |% c0 ^ E
{
: [! _/ e( b* v8 C: v3 k return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
" k( x- j: M; x$ n }
# L6 z8 Q6 M: ]$ J3 F( U: W3 l7 a7 L6 ? catch(e)' V- @8 f7 ?+ _7 X
{
. j8 R. U+ @- [' e+ u/ q if(debug)4 |- [3 J; l- w. ~5 @! T7 V* f
{
8 J+ }) U Q2 ~) |6 W6 y. Y8 h2 b alert(e.message);9 X3 X6 R/ ~' H$ d. s# M6 ]# w. L
}
u8 w) U x, ~- H& \) C+ S1 }9 j
: m* d( z) R* }$ h7 Q0 { return "200";
; _* R* Z5 k8 V) f. d2 ~ }/ ~; J# G( K& P8 m# [, }7 J
}
/ X1 |# r! x- [' p) ~. r: i& I! f3 n
* S3 P1 u" M, A" x# A, }/ I5 W this.RemoveHide=function(page,objname)! C6 Q9 ]2 G4 Q
{, B3 [) T0 \9 m& X* L+ W
try
9 C4 l/ K9 d$ r2 w {
* Q1 `6 M: C1 m var minValue=15;
1 F# m5 c" t$ F6 a, b var objs=page.getElementsByTagName(objname);
; G% ~- |: E$ p6 c
$ L8 }% Z$ m( `; X% I if(objs.length == 0)
, |# J+ u' @# N- n. P: x- S& N {0 u( i" W; T6 G( x
if(debug)
7 R: f0 D# U) R$ X: d {
& o& y f7 n3 m$ G" L9 X6 t alert("no object found!:"+objname);
( f! K# _7 X4 k2 U8 K* \ }. W( c6 a I6 B1 a
}
) K( ^/ H2 R9 \1 |0 X2 Y else
' X' Q( }8 C7 g8 h _ {8 w: s/ ?+ R$ }6 x! |( H3 K! j
5 ~2 I& e* W% x4 p: ?( ?, _ for(var i=objs.length-1;i>=0;i--)
8 h7 f1 u, K( l# h0 |4 {5 |8 ` {6 D1 \: N( `. w/ g* d( G1 _
var node=objs.item(i);
) ~. k' \* J0 e5 u6 o# t* n " J# b4 {+ c8 r
0 O/ S* B6 e" P- t* h+ T/ D# U5 ?5 K
if(this.getobjstyle(node,"display") == "none" ||9 W& W/ h2 [! A( d2 D9 D
this.getobjstyle(node,"visibility") =="hidden" ||4 s L1 `2 Y; g9 K
parseInt(this.getobjstyle(node,"font-size")) == 0)
3 a& R. w- G- i, G6 h {4 M" _/ \/ K, \; {* f0 _
if(debug)) {7 |# u) ~' Y9 ~
{, y9 N# a/ V" f5 g
alert("remove invisiable!");
- ?6 ]" f9 S. S5 h6 B: X }" F7 U( R5 c; {8 c1 u0 U, x* v
node.parentNode.removeChild(node);
8 C1 z9 _) U7 v& D- g# R$ c
. {- {5 W( ?! Q3 ^1 Y4 P }: ]8 o6 O# ?$ i q$ s+ }. h* u
else # W V" m' d2 P. t
{
" ] O$ C7 M) F3 s6 L% l if(node.parentNode) % ]& q2 F* `. ~1 i
{
1 c1 p9 r- O; E. W! t1 z var orgNode=node;0 y6 @3 G1 r: K4 g; P; f; f. l# q
var orgColor=this.getobjstyle(orgNode,"color")3 K. g" K# j3 S& o
var orgRGB=getRGB(orgColor);
+ _; K7 I1 t- s! U' w - e6 E5 { t( x/ f( E% j# Q0 P9 x
var parentNode=node.parentNode
0 y# y% f7 P6 B% d1 d6 \3 f var parentBgColor=this.getobjstyle(parentNode,"background-color");0 [) j' j. S+ L* v# ~, Q
( ^; o7 k) b9 b9 s! W" Y0 P
var isLast=false;0 M" ]5 g2 W: n. [
/ O" H& [* U# A+ h9 n
while(parentBgColor == "transparent")
. l1 b) P! U" \8 K( l ~2 N# ] {
% K' m8 y4 F$ q" y
$ w6 l8 |4 N: X! h8 { ) H8 l$ u! S, d& [
if(parentNode.parentNode == null)* x( ~: t1 W" c5 k4 z, P
{
7 [* _3 @3 b; I2 d* M6 F2 w" ^ isLast=true;
( a7 L; O+ C$ w* a# f P break;6 X7 I0 r/ M8 f/ p) n% a: F7 v7 e
}5 S- d2 u( N- K5 K2 }4 M) Z
parentNode=parentNode.parentNode;) R. l, A {. S' F& ~' C& g
parentBgColor=this.getobjstyle(parentNode,"background-color");3 R8 z) Z1 U8 f. y
# V! X: b% y# C
if(parentBgColor != "transparent")
+ s1 b% Y* ~; V( _ {7 L& }) d. c" |/ p
break;
1 W0 | c1 ^' |2 z( e }. i: a- j8 x4 |) q2 L
}/ e5 i9 K. d ]7 Q+ m
if(isLast) - H( g$ q* E% K2 m
{3 D6 H! p# c- }1 g8 W$ S0 W" u
if(debug)+ i9 s* V }% E* h
{
- ]& Z! s# ~/ K) ?: P alert("last!!");( s( ^" {. s' R3 r7 [* `3 r
}
f6 P7 y1 a+ O if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
+ f1 n) q; ^! D( r/ w* j {
- z* d o1 N8 e: b/ m* J3 p orgNode.parentNode.removeChild(orgNode); ; ]% W9 C9 V: W$ z. ?
}. C% t/ t: b! C3 u, n9 b4 k
}
1 Z& U, z) L) O Q* L% t+ E0 J else
% Y( V6 B) N; d* P r. N0 z7 ` {
* Y! \" E# h1 F( \- O2 j* g if(debug) `6 [& T# J0 ~, b$ P
{: c# U7 e, [2 U/ L7 c; j* G$ T: p
alert("compare color and parent bgcolor!");
9 m: m/ I& c0 n* U8 y$ U* r; u }1 b7 G" I( u7 \6 K
parentBgRGB=getRGB(parentBgColor);- o' r" f' e! M4 {
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))1 h3 X) j6 g( W9 |* q" y& C1 x, {
{
# c4 ^- U+ o1 d1 c+ }1 P orgNode.parentNode.removeChild(orgNode);
3 x0 }* x5 r$ C& G E' j }, i7 N2 I# O# r/ e6 I8 l1 r$ c
}$ C3 e% \& f/ h. c4 }/ x5 B
}8 N9 b- f6 H; B( M, R
} s6 v: s3 {1 q7 I* s
}
1 Y1 X- o& M3 a( t" h }! y, P+ E( |5 O0 d; X+ }
; f( W0 X/ E6 j0 [+ v: V ) ^8 l+ q& g" u7 N$ e
var itemFrames = page.getElementsByTagName("frame");
6 k* ~& _$ }" ]6 { var itemiFrames = page.getElementsByTagName("iframe");
* D) u; r: Z8 w! I- f% @: F4 y7 `
; I$ S. i+ u2 P) d& \ var frame, iframe;
w3 G* W1 }/ ?7 P9 r3 Y1 X if (itemFrames.length > 0)
: ?& V: f0 N1 J: s7 D& Z {
6 Q+ T6 m8 J$ O; t; E% ^, u1 u- } for (var i = 0 ; i< itemFrames.length ; i++) 1 y. l% V. Z; [0 r$ {5 G* j
{! Q+ C: R( T* `6 x) l1 I+ K9 A6 v& W
frame = itemFrames.contentDocument;
4 G2 T y% h9 I' P3 B- N5 a this.RemoveHide(frame,objname); , i: r( t: V* H0 A) j8 N
}! [! A5 s2 ~" o; D% Y' o/ G, Y3 X: j
}
0 }# \+ P% y* @) U/ ]6 o if (itemiFrames.length > 0). E. P9 A6 t1 U. s! O% x3 Y: k
{+ ~4 P# L; T2 A6 a# q8 @& x
for (var i = 0 ; i < itemiFrames.length ; i++) + ~( I2 n: H% W, ?- x% f$ `
{
3 x! X) A8 F P$ U9 T iframe = itemiFrames.contentDocument;
( ?: {% M, P/ Y6 d+ V) x- K this.RemoveHide(iframe,objname); - o2 p2 P% V |' X8 ^4 m
}
! s& Y3 b# h% I7 W2 B6 G9 F! V }4 i5 P; u2 l4 d& k" j
}% I# l5 m" r3 }/ l
catch(e)
- S5 C; |0 }4 C1 L2 m* z0 u {8 f n1 a* H! x; |
if(debug)
! [5 R" U3 j/ b | {& l0 b. J" @1 U. p/ C% H8 v9 ]
alert(e.message);9 a) L+ a- O' y, z3 w
}( s. ~( `+ R; H; _7 g i
}% r0 s& j# I' T
}' a4 G [0 t- R l+ |/ V) A" S1 @" ]
" a3 D9 j% n1 |% j% O8 \}$ _$ q0 K; s1 B8 ^6 L4 |6 @
$ L9 q7 I$ o( K; I6 g; F/ V
function getRGB(colorString)3 N- W* G& K! u1 [
{3 I3 z: l' g) n0 d/ h
var RGB = new Array;
4 Z2 u* i9 O3 q: \ var tempSting=colorString.substring(4,colorString.length-1);
. S# u. ~# h* {6 v var tempArray=tempSting.split(",");- ~+ s& C j/ f; N5 `
& Z+ v- B9 O0 t' d- w# E" \- c1 O
RGB[0]=parseInt(tempArray[0]);
; B9 }. a5 e* X RGB[1]=parseInt(tempArray[1]);
2 a. P" V3 O C RGB[2]=parseInt(tempArray[2]);8 S9 t. o( p1 l6 A$ p
) m; y5 t. ]( X9 X return RGB;
+ g! O$ d. |6 R! c. a. ]}
; x1 ^2 D. V0 A+ B/ y; z, Yfunction keys(evt) # W2 C% Y O* F6 X+ R* g
{ 7 z) u% g2 v: Q
if(evt.ctrlKey && evt.keyCode=="81") 9 V: D: h5 a7 }; s, e$ `
{
& j( L) g5 G( U/ v1 S6 Z) F; m0 Y CleanHideObj.on(0,1);
( `% v* \& r. i \5 f" ]/ a8 B" s! L alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); # K5 e( Z* h3 Z$ X& z
4 q& n6 ~6 K: ?0 v; P } # w; V6 W1 r! N9 s* H
}
F9 G" w' f9 m+ R6 ?document.addEventListener('keydown', keys, false); . `* ]/ R$ `$ v
GM_registerMenuCommand ('Clean Hide',
- f) O! C# H y4 ^1 e! ~function(e){
! B# j7 G* ?7 x7 OCleanHideObj.on(0,1). |; X* [$ y4 o( s
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
1 Z: F1 c+ s/ E% e});
/ d5 y. J7 m- [ ~0 [4 X |
评分
-
查看全部评分
|