|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 9 d ?$ e4 p* y Y" B
6 [! F1 D* i, Y2 A1 u火狐插件,用猴子3 V" b- U1 A* F3 _
; y8 |. L! k( c" j8 `
var debug=false; , F% v/ p5 \5 }5 m
var CleanHideObj=new CleanHideClass();
! O# l4 {- f+ O0 p9 c
6 X2 ? R% y6 \4 Hfunction CleanHideClass() . m0 x" ^$ Y3 Q
{ $ {# [: V1 U5 v+ Y. ^/ U
. U& ?8 X' L+ _ this.on=function(id,bMZ)
8 w5 J' K7 x1 P2 f7 y" p+ t: R {7 M% Z+ p; {! B# u" ]8 ?! h3 C z
2 o, r* H# H# v- D* ]- i% U i
if(id == 0)& U) M6 M% f4 R! p+ B% X
{
$ f- J3 N% O( R& f- w9 {2 o" S var page=/* document.getElementById("content").contentDocument */document; 1 v2 Q8 ?& z, ~2 M1 B1 b
this.RemoveHide(page,"span");
- N7 t8 t: W; f! J, x6 v7 A, x this.RemoveHide(page,"font");
/ D: \: X- m9 u- H0 Z' V this.RemoveHide(page,"div");: r/ R9 S* t0 g8 f" ]
this.RemoveHide(page,"p");
8 z' K- E( U+ m* d2 S" x/ @) o) w . w/ S1 o7 S/ V% \5 O! @
}
: f$ ]6 r9 }" [* m ( U3 B. v8 c2 h, j; ]/ t6 \
}8 B$ G4 g7 T& z9 ]! l+ B7 g3 p- L
this.getobjstyle=function(node,prop)
7 I X2 `# O# h; B3 f {
( ~* U/ j+ k! o: o; b0 o; r( h; V try
5 Z7 ` P6 B& M* P8 { {
/ \% C6 R. S# B* N, x) n; K/ v return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
' u" ^+ h5 e4 u! p! L }
* ~: F# w2 c2 ^( W0 U, R catch(e)1 }% N. R8 z1 w }% j F! V* d9 A
{/ F2 D0 P0 Q& J7 k" j
if(debug)
& L+ i2 J. Q$ p% Q$ _! W; Z {! w; D% v+ ]' t+ l! o6 t
alert(e.message);
: k9 i, v4 _2 v+ d }4 k+ o" u6 b% p% U0 e
) x2 H: b0 e8 y5 u
return "200";
' E% L- S2 E" k- s k: S }% `, [; O. F4 I( W; n a. u; q
}* V4 H- Z0 a# ?$ R
# D7 ], ?) P. \, D) ?7 z3 \. h; A
this.RemoveHide=function(page,objname)* c4 I9 ~1 d5 [" ~
{
3 d8 \7 I# U/ R* s# B* }5 z try
& j. {/ x8 _8 b0 \( T* s {
& u3 R/ z0 V2 {+ l7 D var minValue=15;% D6 D0 t) S8 g6 O
var objs=page.getElementsByTagName(objname);
; J" w9 ]3 U' p) R5 P0 A0 R( o# p- r+ R2 {( M9 D2 Z" U
if(objs.length == 0)
* B; {; ^; N3 O* Y2 E {
' p; b! \! E0 z4 P j9 O if(debug)
* u: n; \7 Q" x$ c$ ~ {
% u3 k W' v) ]( e* W alert("no object found!:"+objname);9 ~6 U8 z4 }* Q" X, B
}
& R+ F1 b' p% x4 a/ a }
# T1 ^9 j5 v9 }" t9 g% ` else
7 o% g. Q; ^0 G7 [9 s( z% e2 t* a {
1 j! E: K) `$ m
0 ]4 W- v6 a# y" p4 n8 k: i. s- \ for(var i=objs.length-1;i>=0;i--)
# x9 y0 l1 g' Q, j4 E' r {. _! s+ v; F( g
var node=objs.item(i);
# R3 B' A4 q9 R* y( d; b& K* W 8 @5 h. Y) j! Q9 j
( n- L) x3 M3 a6 i, e0 r% Z. [ if(this.getobjstyle(node,"display") == "none" ||
$ k+ w4 A$ T4 m" x, ~& r5 ~8 C this.getobjstyle(node,"visibility") =="hidden" ||
$ o6 ]# E0 h! Q B& q parseInt(this.getobjstyle(node,"font-size")) == 0) # j: s1 t1 `5 i3 H3 N! L
{
. [( k# A$ z( `' E if(debug)
" Z1 y/ X8 M1 n4 W. ? {! H, W. B" ~; d+ F. v
alert("remove invisiable!");1 Z2 D9 L, m/ Y- \" F: ^5 I
}
' J& A7 J- H5 v7 A* M$ d. ]* P6 t1 R node.parentNode.removeChild(node);& I- z$ E! ]$ a, [- a9 h( n1 i, P
5 X+ E5 E& `" _- e$ r
}
! I, H# l5 u! [+ @9 y: A else # S& G2 R6 V# }. F
{
t% _9 u8 Z' t9 e" M/ E4 ? if(node.parentNode) ! G! N% G7 }3 M8 J; f1 g
{
, j+ ?9 r" | L3 X var orgNode=node;& @+ F W% p/ B0 Q4 d$ P. p$ k* b5 A
var orgColor=this.getobjstyle(orgNode,"color")
( C, {& F" \/ {7 f: D: K var orgRGB=getRGB(orgColor);
* k0 e2 E/ o) ?' B; }# k
; N% e+ S2 `1 d5 L: D3 e var parentNode=node.parentNode4 @1 r! J) \; {. |7 x2 t0 {
var parentBgColor=this.getobjstyle(parentNode,"background-color");0 {* V: q3 Q, j7 G
& P% X6 f* b/ y% {) X var isLast=false;$ v1 u1 f% c. ^: a$ }
4 H$ J, a. J9 ]# [2 Z- \ while(parentBgColor == "transparent") 0 E$ Y$ E6 D% k- t! t
{
6 v+ `5 N9 A/ O 6 b3 s5 b5 c6 J1 L
, J: {# ^! s, j7 _5 x t9 F9 g" L ` if(parentNode.parentNode == null)
- p/ y0 t# t; N# N. o$ B8 z- | {, F" j; r8 }1 R; T. Y5 P
isLast=true;
8 z' ^( T& e' d& O7 H( b break;1 e% f$ k, u# U% N: }) g: x
}5 |) D2 c0 K7 F/ r+ {0 ~8 i
parentNode=parentNode.parentNode;
" `9 S- @* C% W$ z parentBgColor=this.getobjstyle(parentNode,"background-color");
1 C7 ^; G9 i) g' F* |/ ^+ e0 {
- x/ {; Y T- z+ G9 _ if(parentBgColor != "transparent")
6 l2 h# \& R" D2 y b/ A' S# j# H" R {1 n7 R4 F: y; ?# g& Y
break;
4 M* b7 N. G+ ~ }
# e4 g& _1 x# w; e5 {( D }
8 K. n9 A& K) e' b/ v5 L6 f8 b9 ] if(isLast) ; g/ ^1 \# @: n5 W1 u; f
{
0 H/ k) t z( _- T3 r if(debug)7 r% ^7 @1 m% T. ?
{! G' P: h# `* g7 L; ^: y8 J2 g9 }* D
alert("last!!");
% ]2 I, D6 s2 S1 H3 H( B6 N }
" }5 ^& N9 ]/ V' b if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
( O/ w% @5 h+ c, y+ G+ q {
7 E4 }" E; q4 V8 \- W* P. C" t orgNode.parentNode.removeChild(orgNode);
2 ]0 M3 e9 l0 m' ?" X/ Q* { }- a9 v: {! h) p% q; A" _% w6 l9 _
}& V! V4 m( [* d7 k3 y
else
) m1 T* \7 `- I {
+ T2 h. `' j" X if(debug)% F8 K/ S! r# d$ I1 `7 d; j; B
{) Z3 w7 _# b+ q) |8 i; h- f ~
alert("compare color and parent bgcolor!");2 `: h9 t" c. I8 n1 h! r* `' s3 y
}
. U! c3 X" U+ h) a parentBgRGB=getRGB(parentBgColor);
2 |% k- f4 D4 w; ~# a if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
5 ~# w. {( A5 W. U2 C x; N: p {7 Y: ^" O( D. D, i- X- D* V
orgNode.parentNode.removeChild(orgNode);
7 `% Y% ]! R0 [. C: z2 @ }
$ k* c: X" p9 E3 U$ M6 J }
8 n9 f& w( Y J/ A }" y1 h4 x M. o" z2 q" t
}# o- |( `7 M5 M2 X
}9 Q- g2 k3 j, H& I& g
}
& p. `, V/ C" c! w' C4 C! X3 l 8 K, L% L. A' L0 n: s7 R$ Z
* s( T4 v1 U9 L" n, @) B5 x) \ var itemFrames = page.getElementsByTagName("frame");
( A! Q6 o8 S7 H5 l var itemiFrames = page.getElementsByTagName("iframe");. S% T0 V' ^, E. S- E l
$ ]$ I# {* _& _( m. a+ g. S7 z
var frame, iframe;. j0 S2 ?9 f8 I$ w
if (itemFrames.length > 0)
% c9 z6 S! K/ Z% t7 d6 d! K% _' v& o {' {/ ~) Z4 D, m* ]. A% l. |, F* i
for (var i = 0 ; i< itemFrames.length ; i++) % A- C/ d( z0 ]) L3 K6 ~; p
{% H) b% F" S+ @( c z: W/ w4 q5 d
frame = itemFrames.contentDocument;
, t0 ]# \ ?% ]. J this.RemoveHide(frame,objname); 0 L6 h V; n o" A3 R, ]8 ^) S
}
( r5 l5 ]2 |6 N5 z& I }
7 A. O2 l) N) f1 Z' O* u* B if (itemiFrames.length > 0)1 U9 ^3 F$ a( d, K* }9 l
{
9 x9 |* u' E1 p, M( ~" B for (var i = 0 ; i < itemiFrames.length ; i++)
) I" o$ ^: Z/ m, T3 C {
& S% g4 u6 Q8 K% D1 U iframe = itemiFrames.contentDocument;5 ^& L( D2 `' ]' t8 [4 n
this.RemoveHide(iframe,objname); : l6 v2 Z$ [* ^0 Z% g% B: z4 H
}# f- f, i4 p9 ?+ E! h
}
, w* P) A% X; M/ m h! k }7 s( j; d6 s7 W& L. I$ q
catch(e)* |5 Q4 }, k( o5 G+ ]2 F7 o- o4 q
{
: k* g7 O; q% K4 W4 Q( ? if(debug)$ r" X( ?2 N) Z- o- v
{' i: d0 Q0 R% f3 G
alert(e.message);
% o6 \! }. k- W3 r }
i- ~2 W+ i8 n8 Q3 j8 _3 a5 ]5 h }3 V' B n+ F5 h9 M9 K
}
2 I+ L5 }, e }1 h4 A4 Y5 G
- h1 u: W- }" p; u @}
/ ~. r0 y$ K3 x$ k% u+ v& q3 y: l4 D- Y# f2 E
function getRGB(colorString): b: [# l d4 k! | n
{& K$ |! ~' v: i" a; c3 j
var RGB = new Array;
1 U( _" p$ f+ Z9 t; l+ q var tempSting=colorString.substring(4,colorString.length-1);
5 G) B) H2 R! C3 ? var tempArray=tempSting.split(",");5 G3 A: K5 T% x) T
# c# ~+ v3 w" p$ W
RGB[0]=parseInt(tempArray[0]);
7 s1 F5 {" v8 Z M RGB[1]=parseInt(tempArray[1]);
1 } | I0 j z0 E" C2 m RGB[2]=parseInt(tempArray[2]);" O! U1 ~5 ^* R2 e. p
/ Y/ T+ n( ~0 m" b; n6 M. @
return RGB;
* J; J9 U2 @- k) Y; y) U}; J% w4 d! F/ i |" p% K( y
function keys(evt) : c0 Z9 s( a9 v# \1 o: R7 Y# `
{ ; M2 d) O T! x# s: L
if(evt.ctrlKey && evt.keyCode=="81")
8 t$ `( J! W! U" Z( F# ? { & S. J5 |0 A( T$ p
CleanHideObj.on(0,1);9 }( `2 B3 z: d) L- B8 T7 ^
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
8 v) Q1 E2 U- p
0 a' I" l6 n8 P. J } * C4 o2 u0 p: ?3 T+ M/ n
} 0 {" j/ p0 N# d% P
document.addEventListener('keydown', keys, false); 8 x. s7 i: ^& k w4 M
GM_registerMenuCommand ('Clean Hide',
: t. `8 F u. c. U* W1 Tfunction(e){ l5 J8 |, R; G
CleanHideObj.on(0,1)
& g/ T7 `* m4 R, l. walert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
6 \ u+ E3 k4 ^" x. ?+ ?, f% c});! ]( b$ z& S2 X& ]; X
|
评分
-
查看全部评分
|