|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
! g0 W5 M' s6 C
: h# O0 b$ D: M4 K. \+ m3 A S8 Q火狐插件,用猴子8 h0 k4 C0 l( E) [# J% q% a4 y! ^+ U! X
$ p3 f1 o5 V, x* r. v( l# }0 Dvar debug=false;
3 x) U7 F4 c+ h' R' xvar CleanHideObj=new CleanHideClass();
8 P6 g% E- a5 K: x) k* j2 g
- ]5 Q+ E* Q& L# [- b- hfunction CleanHideClass()
# N x" e5 ^) K3 H; s{
. H& g/ S+ }# Z
$ W2 d1 R0 S# Z) Y+ B; K5 l, B this.on=function(id,bMZ)
2 {' J5 M1 X1 k! d5 E. p9 ^1 k {- e h- K! y# c: e6 k
3 ]3 u2 }6 Z0 S7 K0 q! ^& Y/ Y. |. d if(id == 0)
& i2 A0 v: c( A* v! N! V% J! D+ _' O {
( v+ U) [: t7 i% Y8 z var page=/* document.getElementById("content").contentDocument */document; " `# ~/ n: z4 X" Z( d* a2 i0 g8 z
this.RemoveHide(page,"span");
) d. N# c6 H8 |% p this.RemoveHide(page,"font");
7 G. u- {8 j% r0 v& m- F3 A this.RemoveHide(page,"div");
+ L3 L) n9 m* S6 }: g this.RemoveHide(page,"p");3 A+ u# z. H" Q2 v* S4 w" Q/ y& g
! C' s. e6 I1 E+ x q' K- |2 i9 ~+ ]
}
, I3 C4 Q: X9 V* ~ : w; R9 I1 I: y
}
7 y8 m" S6 g' i/ C0 Z this.getobjstyle=function(node,prop): h% I; \9 G. i9 M
{
; j7 i6 i) U0 @8 F3 J try" o: B# L" C% E) K' h+ E: A
{1 K3 [- R! ~0 Q8 v3 y2 ]0 h
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
4 G1 r4 C# h7 g) h. O, x; i6 N4 \ }
3 Y, L2 S4 | d0 A catch(e)/ d# W4 r4 t7 [) N; _+ \5 M6 c. E
{8 v4 h6 @( a! [0 ~+ c; n
if(debug)
+ J4 ~: Y6 S, \ {0 S$ w# e4 i$ _0 L# h; K
alert(e.message);
2 v+ p& b- b N6 D9 Y( X( G }
, p7 s5 G2 O5 a* ~5 H7 U 6 T8 v6 m# z3 F
return "200";; z3 X( m- k; l' b2 Y: x
}5 t; Z8 }2 ~; D
}
0 O4 I/ D8 S# ^ s! V+ E / A1 I k2 }3 c- R3 v* h
this.RemoveHide=function(page,objname)
7 e4 c/ N0 x" [ j$ Y1 A, ? {2 n# L& M5 U" N* v: l
try
; }% R, _ Q# q# v: m2 X- { {
4 W$ {2 |# d) x; u' c var minValue=15;+ l6 U. Y- ?6 ^# Q5 w
var objs=page.getElementsByTagName(objname); 7 w4 S. d) F1 P
% \( {. Q- _4 n1 a/ T) Q if(objs.length == 0)
; X5 K: |; y- X! a {* s% s4 x( M! n9 E( L& g" r& p
if(debug), l# r) Z4 T. i, z. M
{* V$ d( I' ~9 X+ s& c
alert("no object found!:"+objname);
# c% p8 _+ b! y' E }3 ?4 g1 f: `! U2 J* d$ y% L6 a
}1 z- Z6 W% |5 R. q
else
* X) S* c* r4 Y+ j2 P {6 x" W; f1 X5 e
1 r! M# o& ]4 r% g( R& R I
for(var i=objs.length-1;i>=0;i--) . [% K8 E3 x% h
{, v% y1 c* _* A' ]
var node=objs.item(i);
) f) y2 A9 | e. ^ % J0 d9 o! Q3 _9 ^7 d' M
& W% J5 Q- y0 U+ A+ v* P" A' ?! ]
if(this.getobjstyle(node,"display") == "none" ||
* z9 ?$ t* p9 j. P5 Z this.getobjstyle(node,"visibility") =="hidden" ||
' O/ m( l2 B- ~$ W; \ x5 _ parseInt(this.getobjstyle(node,"font-size")) == 0) + t* A, E( P" R# R/ U! D! t6 m& w. V" z
{
2 ?+ O, Q4 }" M. s7 I# M |; J if(debug)
2 {. K2 g/ [' e" p1 Y) @5 N {
/ r$ U7 ]- o( z. j X/ O alert("remove invisiable!");! g" c+ `3 i* p9 ~2 A/ O7 Q
}3 q0 v/ U+ N* W3 P( |
node.parentNode.removeChild(node);
* ?% O( E1 u( r' _( W8 B. n* B! y, C
& C/ W8 |" s2 k& G5 y, {- ~ }
( D5 p A a; r3 C else
! R. Q1 P- N" F, B% X1 ? {
- _5 e# u. v) W- b; d3 f if(node.parentNode) 7 c$ A2 \% W* \/ L4 }3 @2 ^1 u6 t
{
- O1 O, U$ c7 h% k var orgNode=node;& m7 c* q9 U# A0 l
var orgColor=this.getobjstyle(orgNode,"color")
$ L. f# i" g) ]: R, ?( J2 O var orgRGB=getRGB(orgColor); 4 A. G* J$ ?! m
+ N0 U' {% K6 u( c+ h
var parentNode=node.parentNode: P! w: z8 r7 w& x( V
var parentBgColor=this.getobjstyle(parentNode,"background-color");
* q1 v- c# a" J$ Y# O6 G" c# q5 }) T 2 P$ Z S8 d, ~5 ?
var isLast=false;" ^/ h# F& ]4 J3 l$ e" v' |
2 [$ I. q4 y, L- c$ \7 L* p9 \4 T while(parentBgColor == "transparent")
- h y9 G% Q7 U {
0 ~) B Z. d7 ~& y1 Z$ P. E - q- N1 G8 H9 O1 B5 V
! Y" D" g k: o6 {4 ]+ G9 }% E if(parentNode.parentNode == null)
7 p0 y/ \* H1 E) G {
4 ?) n# c1 m- E! R/ r isLast=true;
# f9 X' W. P- r0 a T; s# l% l break;5 x# L: }, N. C9 a6 H( i3 r
}$ ^1 e- r2 @' z0 [9 W
parentNode=parentNode.parentNode;1 n( ^# l$ t6 ^9 Z
parentBgColor=this.getobjstyle(parentNode,"background-color"); o! \ f! i$ _
! s$ T2 E$ p5 d+ J+ Q7 J if(parentBgColor != "transparent")
! M" \3 n9 h; N# ]# | {2 J2 N* _8 C! Y+ U# B. d1 Q
break;
# Y, Y" I$ b3 F4 ^ }
9 {2 w/ L9 ]+ u& J6 {: E$ ?2 B7 n }
7 @' [8 T) R8 s$ | if(isLast) * }4 J2 g; D& Y& k
{
& L0 _* C( }! x3 h- N if(debug)
2 r1 u: a- E( \/ r( L5 e; x* f {( L5 Q# Q, I# R% F
alert("last!!");
9 [/ d2 t! g& J, T! p }9 w. O' v+ ~5 F- h$ }, ^
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
2 H. \" |8 h$ F" x8 |* t2 s+ f% D {2 J3 z2 f3 v, n/ D+ Z
orgNode.parentNode.removeChild(orgNode); & @; J$ H6 I' ]" L5 H6 E% C
}4 w- B$ v, C D q T
}& y A) t7 Q& `+ g7 q- I( z
else A3 O8 G! N8 n( {; Y$ F( {2 x( ^6 y) w
{
- b& c* ]' B- }$ O if(debug): L# Q' _+ m$ m: N" H
{
- l/ l0 K; @3 ^- @3 i0 I+ z# o alert("compare color and parent bgcolor!");
( Z% @# r+ \) G4 G6 k* G% [2 T* u }, w B. c0 Z R1 d
parentBgRGB=getRGB(parentBgColor);; ?9 W" ?' R6 {) F9 s3 F
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
1 r4 Q. w* A7 z: D5 T {
$ _4 G6 B5 Q% T9 q. i orgNode.parentNode.removeChild(orgNode); - y; p# y: }( J7 \% q/ W7 V
}, w# W4 G$ l& m9 P" q5 U9 ]' a1 T
}
0 n" B* ?7 ^0 n, Y% \ u1 y }$ ?6 u! j# M6 w+ ]4 @! A
}: o K, `, |& C. e
}0 K, _/ y/ q9 [
}
3 V* H1 q& }, Y* x" o
: P+ h7 t! Q+ T8 S( \
! Q' Z7 O z* h var itemFrames = page.getElementsByTagName("frame");3 x# B( t! j, y1 ?
var itemiFrames = page.getElementsByTagName("iframe");1 a/ }8 [# f2 a! b, [# x
& ^- w( P7 A3 a% _ var frame, iframe;
; Q2 c* ]/ y- J( ?# q9 @ if (itemFrames.length > 0)
" f( D& ]( V' N8 e1 E( q {
4 [% l+ V; J ^ for (var i = 0 ; i< itemFrames.length ; i++) 7 d& Q- @) Y/ @5 t
{3 v* C" j4 A d- L; o( J
frame = itemFrames.contentDocument;
3 p O. \/ y7 k& g this.RemoveHide(frame,objname); ( t: y; Q( |; Z& x
}' G, ~" a) ]% p$ \
}+ g: x& D; i9 n' g9 G
if (itemiFrames.length > 0)4 c) o/ V! G; O. n% t
{
6 ]: o Y$ k) y5 H1 z5 s for (var i = 0 ; i < itemiFrames.length ; i++) 3 u$ R6 S3 C. P' I+ U
{
3 r o9 R4 [ M+ | iframe = itemiFrames.contentDocument;
) t& T. U) S% \& k% R this.RemoveHide(iframe,objname); ( i6 Q/ p/ W& i9 L5 E3 a5 o) c0 y! X
}. p5 s7 K+ o9 [; H
}
/ S/ ~0 C9 C" z/ r5 t: H! D; } }8 x8 u8 Y# b& V% G# G
catch(e)
0 J% l. u, m# \% u( r: @ {* J; [0 o0 _9 S- m+ ^) F
if(debug)
1 p! _2 m% U9 p {1 j0 H. I. u( r2 }3 a$ T
alert(e.message);
& k) L w7 y3 b' o5 e' @ }( d/ N* w6 @7 G% O& U9 ?- g# m
}' [6 o6 K: {, n# y
}8 O+ g! k c7 p0 O: ~
5 \/ K! `& j: l1 H; B9 W
}
/ [; d7 p* a7 b" L: p7 M0 m6 X/ y4 d9 R, C
function getRGB(colorString)
( j* r# _; I( f6 f6 Y# K5 i{& c* A4 L, C6 e; c' n; v Q ?
var RGB = new Array;! X ?" e) o9 |2 j+ h
var tempSting=colorString.substring(4,colorString.length-1);
; b; n2 L. {0 M" T! a( x) C5 I var tempArray=tempSting.split(",");
) R8 M' }% L/ q+ }1 s& A. |' L: j# a9 m' ?( K9 M8 M1 ]
RGB[0]=parseInt(tempArray[0]);" n& o# y9 g0 m, p, [2 ?9 E, H
RGB[1]=parseInt(tempArray[1]); Z S6 {1 c7 H1 K
RGB[2]=parseInt(tempArray[2]);
6 O0 w$ p/ \# ]3 M5 H+ X! P6 B
% X, d4 q2 E3 Y2 \8 b3 M return RGB;
6 M* {% k; E& W) t/ b9 Q- y2 S}4 D, F+ f7 w3 T ] N: I5 @5 g
function keys(evt) 2 F3 ^7 R2 V/ z( W- K0 T
{
8 q' e8 ~# k1 S* H% s E+ `5 j9 I if(evt.ctrlKey && evt.keyCode=="81") ' u. i. O# `, Y- e% X2 t) M. }- B0 @
{
0 u% [5 C ^* f! V! {& V$ [% n8 X9 J CleanHideObj.on(0,1);3 x7 i% U2 ~& \/ g" |
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
5 ~. J" n$ w( P- s1 p
/ y$ M8 T$ ~0 m0 X }
; E6 Z% Z* M* N4 s7 e$ W& p4 Z- k }
6 m# @' @# e* W( ?$ w. w$ E. {document.addEventListener('keydown', keys, false); ; m; h) ~& A' \- `5 V& P
GM_registerMenuCommand ('Clean Hide',
2 {" F& A* q: x5 J& V S( \$ Sfunction(e){7 Q8 d+ j- \( a5 k& A
CleanHideObj.on(0,1)) N5 x. L& Z% }0 S; s( e
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");# B9 q; m4 x7 X2 y/ ?0 F
});
! ^& c& r( P. M$ K |
评分
-
查看全部评分
|