|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 & i4 b# R- ?0 R! u9 }
# t ?" B# @; W4 Z: R* ? j6 W
火狐插件,用猴子1 C7 x7 z. D- b& k
7 e' H E" E6 ~5 m. V% B, y1 ]' Nvar debug=false;
4 l' I( t$ R/ p0 E0 Ovar CleanHideObj=new CleanHideClass();7 |* i' w! J* E
2 n$ X9 r: g1 G& b3 m" c5 ?
function CleanHideClass() 2 X: U1 s# i' r% m8 w( m( U
{ + G( _3 w. S' q9 x1 c5 z
( w" ?9 m) r9 f$ P& {
this.on=function(id,bMZ)& x' S2 d% W: S, T! y
{
5 p$ B, k8 X- e( O( S 6 w9 ]+ o+ F2 x! z6 ^/ H
if(id == 0)2 n- q) E7 Z! q3 M% v5 `# r; h% t
{- X7 x& [% X% w. t( d' z) w ?* ?
var page=/* document.getElementById("content").contentDocument */document;
7 B% k, q/ t! L/ L( A% F this.RemoveHide(page,"span");
+ Y4 V8 ]* q9 U. h# g6 i this.RemoveHide(page,"font");
6 b5 E$ K6 Z$ ]& u- f1 w$ ] this.RemoveHide(page,"div");
2 W/ U! f8 Z x$ f- r this.RemoveHide(page,"p");0 n! w- e# ]& Q$ r. y8 s5 h
% V# l0 _* Y; ~0 f
}/ \# y; P- N/ D" b6 S2 d" z
* D+ U# x4 k6 F* I4 H3 _6 [
}
; \2 l: j1 [. r/ r$ _( E( L this.getobjstyle=function(node,prop)
8 }. ^& s% Z2 q8 U5 C {2 M5 z* T2 o7 N0 H/ A6 V
try9 O/ t" }4 z+ v; l0 `8 v
{7 c( W) l; p7 _' t4 p* u* r
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);# q/ `( ^ `2 ~& h+ n4 j
}* X% B$ J6 f6 j, v
catch(e)
2 ?* m: G, j( [$ v {
" L- H# j+ O( K6 x ~! w0 S if(debug)* c- j- u) |2 H& s) q- x Y% y
{6 v- |) T& j/ |2 t! I
alert(e.message);
- ?; u- Q( H" T; v }
8 d% {9 _8 v- x4 O W& \
% Q% v) R, |; ]2 n( ` return "200";! L; \) X# N) T. Z' G
}
3 e3 A3 ]" R5 y* s8 _ }# P9 O/ J1 z0 G3 K- w$ s0 L
8 U: X7 j6 L- h this.RemoveHide=function(page,objname)
$ ]7 T! ^, i) }; h: W" N {7 O# b' `9 K% }4 c( T
try9 e1 q) L! d) S- i f
{
! _. D) U* ]% P) V$ n; _ var minValue=15;
/ D4 _7 [# D$ `' i0 ]) m var objs=page.getElementsByTagName(objname); : A0 M- j, v. K
$ I: g6 E; _3 T. P/ W/ k J3 p. Q& q
if(objs.length == 0)
# c/ l, G" M( F. V3 l {
7 e& W) x. i! ]# x0 V' Y l if(debug)
4 V3 n# r& O5 I% D9 u/ Q6 X. K {
5 @& }2 n6 V$ A, L7 o$ a Z alert("no object found!:"+objname);
8 S& Z; S& e1 o0 v" P6 ~ }9 \2 I% u( r) m- s- u
}
2 b8 n$ H! i ]; J6 ~/ S else
8 N: G/ ^- E% `) F# ?$ o {- p' x6 f- D" H+ h
4 R8 B. C' e/ B6 ^# w
for(var i=objs.length-1;i>=0;i--) % @) D3 L) \- n) r3 D
{
; G( ~1 [) n6 \6 {* m% m( j! I var node=objs.item(i); - Y3 E8 W6 d( O# r7 W" {
) a) L8 m- S6 H. i
1 K& c) _1 Z, h) e* h. b4 ?. B9 A# Z if(this.getobjstyle(node,"display") == "none" ||, v: @" Z1 D$ X+ I- d
this.getobjstyle(node,"visibility") =="hidden" ||1 M- ?& l" J# R. F
parseInt(this.getobjstyle(node,"font-size")) == 0) ( q' U1 g( P4 G$ a) F6 C8 S0 F ^: B
{; I, G- q2 \0 y5 A/ \2 n# } l: u
if(debug)! C/ p9 x/ f# b# j3 G+ _( T: P
{- D. z( [1 } A) v; W3 g
alert("remove invisiable!");+ D/ U: i3 X: I2 s- T; |) R
}
7 k- E) f1 t/ o: N node.parentNode.removeChild(node);+ v8 \- \- {3 K5 `7 d, h2 u
2 |8 e# N& u5 T2 F
}
( T5 Q, X; x. U2 D! h+ e @ else : s( H5 {, h$ m7 r
{
' v( f+ o3 m- Q if(node.parentNode) 6 f( E* e3 t2 z0 ~3 e2 c! J
{2 f& S! S. f& Y+ x! l1 j+ n
var orgNode=node;# ]8 @% h2 R- `- J) i8 t
var orgColor=this.getobjstyle(orgNode,"color")
1 H1 d' s* o0 T: E& W7 x! G4 o2 C var orgRGB=getRGB(orgColor); 5 N, |8 \5 j; q5 w
, C8 @9 }/ o; t( E$ X5 m
var parentNode=node.parentNode
! w* X0 v0 y+ c$ @% e: I& v: | var parentBgColor=this.getobjstyle(parentNode,"background-color");
& Q1 o8 s2 {) k) Y
( N5 O9 S6 c/ X var isLast=false;
/ W. h: W( @3 @$ H' |4 |- C: {, X
$ F8 a, q z2 b' y/ Q0 r6 ^# [ while(parentBgColor == "transparent")
1 [0 _, A! q8 A4 M {
3 @) D5 j5 @6 [! p8 M - L# x* P7 z! `4 R# s# ^1 h
2 Y' d; J, X+ ^- i8 t if(parentNode.parentNode == null)
6 W: C% ~& X: ~' o# K/ l {
& \' U) Q Q! u/ c isLast=true;0 g: M$ Y& K: j7 e) m* X# Y
break;
! D2 G3 R0 o6 a" a/ b }
; N2 \# _. {* R2 |) b parentNode=parentNode.parentNode;
* v# N& I# w; e5 G parentBgColor=this.getobjstyle(parentNode,"background-color");0 e7 }2 d5 ?/ v+ [# T& O- ^: z A
0 n, n! O8 P3 r2 c- U9 q. }( L
if(parentBgColor != "transparent") - u5 J( A6 H Z% s3 {; t
{% B, w# z1 w* }% J# \- r7 I3 q
break;0 n9 j/ D( P" |4 {; k: S. m
}
2 T/ E, ?9 d W }
3 M% m' ?6 ]: }9 C! C if(isLast) & ^. g% y( G" {0 S6 h$ I& u
{
, z* v$ Z* _+ A& X if(debug)/ |- s. o7 f4 u* r, L
{
, M9 w+ D/ z5 B v alert("last!!");
4 f! }$ `0 o3 `5 g }$ ?1 e+ h8 P9 r. ?5 c# o# ^. O
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))% }0 t2 g- Q" S" x4 X
{" ~9 S( d2 y2 x. e
orgNode.parentNode.removeChild(orgNode);
9 f! O) M* a+ L" a2 E. v [ }1 S( z4 R" v! S, q5 [
}8 f! c! [+ g& f- M; f' }4 U0 ^
else( _ p. b8 E! U# n s7 _7 ^% c
{
$ |9 s n& j( s2 ]( I if(debug)( `. v s5 y* g% S/ ]
{
: R5 t9 r7 l) M `0 s alert("compare color and parent bgcolor!");% _) M: g5 |: R1 i: u! U+ y2 K
}3 P. ~/ K! @5 G# p
parentBgRGB=getRGB(parentBgColor);
" G& l. E% b9 b$ w if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
1 v8 Z3 i8 ], O+ i8 N4 M2 \/ D' X2 ~ {
: v0 J9 q" n( f orgNode.parentNode.removeChild(orgNode); 7 s" Q, n0 k# n. T+ r# C. {
}
2 F1 \+ m: q* H% @; z+ A- l }; U' A- G9 x" `7 k
}' a6 g; R0 B! n8 p6 E* o
}, x0 L4 E2 u7 X: ]+ g$ q
}2 j7 @: g7 p2 ~- L+ P1 I
}2 M$ y( u, z5 k: ]& u& W
$ a" }1 A+ t+ n% T
. V. V9 O. \7 L, q( D var itemFrames = page.getElementsByTagName("frame");
2 k! z$ w. u. x0 J var itemiFrames = page.getElementsByTagName("iframe");2 ]' g# _/ z1 ?+ S% c; {! y9 D
% \* ~% s b/ c$ Q' U8 |, E e& Y
var frame, iframe;
8 F. l' R: u+ F5 g, j if (itemFrames.length > 0)9 @2 ], x: o2 q2 w2 ?
{
* M- s8 W1 n& J t8 U for (var i = 0 ; i< itemFrames.length ; i++) }; _2 N- x& @8 `; z
{
/ b+ [ R& u& ?2 C. \ frame = itemFrames.contentDocument;
" \: @6 ?+ G" O, A8 t4 V this.RemoveHide(frame,objname); 9 I% w# c- g; ], p- X
}
. \7 `' q2 ^! e7 P4 `3 v }
8 K' M$ D; c5 A6 G* X/ v, a if (itemiFrames.length > 0)
/ t; J0 z! K) o4 d0 q {' l0 ]& q0 @6 z) K
for (var i = 0 ; i < itemiFrames.length ; i++)
; i; X* D5 H3 ~ {8 i* d/ c( }) G6 L
iframe = itemiFrames.contentDocument;3 s4 i |# [. Z% e
this.RemoveHide(iframe,objname); + V) Z ~0 s9 }
}* I. n* |( k- p6 V( `) h$ V; ]
}: P1 Y; @" h5 S3 V7 a
}
F. f+ P1 T7 ^ catch(e)7 F& @% p3 B8 N5 ~" G
{; ~4 ? D* d# O0 w, i0 y
if(debug)8 q x7 g& G9 Y2 b
{9 z& K$ ]5 B, P1 k$ `+ c/ c
alert(e.message);, c" ^" m' W4 O5 W. z
}
; j" R# _: J9 X! a! M! ~) v2 o3 F$ S }
6 `$ F4 K4 N$ H$ W }
! a& J: V/ X" n* Z& f
# g: `* w9 y! v, ?}
0 a3 h% w4 D {8 O) U0 |3 g; Q
3 P6 G$ @6 u5 u1 o* q& O: P. x$ `+ b* Rfunction getRGB(colorString)9 ^* B% r" _2 h! u" o4 X" _; d0 O
{& ^, W' ~5 ?' p( J. G
var RGB = new Array;
% v, K) B+ g, Z& c( T var tempSting=colorString.substring(4,colorString.length-1);
, r! S5 b8 v( b; t" [3 H& p4 f7 a! n var tempArray=tempSting.split(",");( [" E7 y4 t7 a% K1 w, A: ~5 b/ ~
3 \- a7 L, j7 H4 ~$ `( b7 w E RGB[0]=parseInt(tempArray[0]);
! I: }: k$ q7 u5 t RGB[1]=parseInt(tempArray[1]);8 p* E2 a3 Z4 I9 [. X8 k
RGB[2]=parseInt(tempArray[2]);1 U1 e9 P5 S* n4 ]- y
# N5 _2 j2 Y* _- b. l" _( Z
return RGB;
6 q3 g1 j2 s1 n X/ a0 p}9 h' m/ U) |9 {* i# Q9 u2 o
function keys(evt) 1 N" h( e" w( d# F* J4 X
{ " c% z- }+ G3 Z# ~$ ~
if(evt.ctrlKey && evt.keyCode=="81")
5 Q% |$ m1 m1 g/ O0 z { " k, b: }0 n" C- z2 ]
CleanHideObj.on(0,1);4 m% `5 O: N4 R T5 M( Y/ ]% d
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 2 Y# X3 d, F2 \
8 J0 g% n3 S7 x% V& p5 t7 O
} 4 A% I ^# a/ M) d9 ^
} 9 q2 l$ @7 C+ s3 k: d
document.addEventListener('keydown', keys, false); 5 c* X o) l7 b
GM_registerMenuCommand ('Clean Hide',
; z H9 F% ^* D8 B5 a f4 ^" S1 ~function(e){8 ?) J% Z; k/ Z; l
CleanHideObj.on(0,1)
$ Q% V. a& d' e2 C) s9 @& c v5 G9 valert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");8 h) v' H& S9 X% g9 ^' g3 g
});0 i3 T# C- A$ W- C+ r
|
评分
-
查看全部评分
|