|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
( M# V* k i- ?! ?4 n& I! p
" i$ [$ A' ]( j0 I$ o( L2 P7 w火狐插件,用猴子3 U; z3 Z2 k& |7 I8 e1 i3 {
% ~2 Y( G$ V8 X1 O+ c+ I0 E
var debug=false; ; m- ?8 L- X9 J
var CleanHideObj=new CleanHideClass();
3 Q# ?2 `1 [( m7 O% ?7 a# ]" L
1 H. I& E# `1 h4 t9 ^8 E1 f8 P) vfunction CleanHideClass()
8 Y* u2 A3 t. O- ?0 B) i{ . b$ D2 b! S4 Y+ ^# X
& c# a7 L% m* u$ l
this.on=function(id,bMZ)
" Z R' p$ @0 `# s& K8 @ {
+ L j3 B# r7 s- d% s( J & Z, l. t, g! C( V+ k# }0 f9 {' r
if(id == 0): Y% W0 Z) g8 H: t
{% r8 [( L2 {' m# y7 }9 S# `1 y
var page=/* document.getElementById("content").contentDocument */document;
6 d. O3 a& v9 h* s1 s' d this.RemoveHide(page,"span");
$ [* M/ H( a- L+ r1 e) y0 D this.RemoveHide(page,"font");2 n; k) S: }. n
this.RemoveHide(page,"div");% L* y$ o6 d' H3 W2 G* b; f
this.RemoveHide(page,"p");
# d. K; f! m, o( T J. N# g; ` C* X, d/ s2 V( R6 q6 G" M
}
) j8 b* W" p" b" }9 ~, t# l& b& V
4 k. B4 \9 S, a; p# f J }4 g; J( _6 m" `1 r/ T u0 M
this.getobjstyle=function(node,prop)
# g' l9 R# }* b& c( z7 J$ R {
) {7 X# p- J9 }5 ^ try) K* L% s4 E2 J, L+ d
{ m# N" X, A( G) ?$ N0 L
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
' A+ \- i1 r8 V' Z) } }
7 f# Z* i e/ E$ Q. M9 ^ catch(e)$ R; @! ^5 r/ s- A. z' P, }
{
- Y) y3 z4 {" ] c& k: Y3 U1 A if(debug)
$ P! c0 I- K% l5 a. t4 S {) t. _4 Y2 ~2 s# k0 E% L0 n
alert(e.message);- ]/ }3 @+ G! F$ _" L. v3 \
}
1 J& J# m$ g/ G5 ?
7 r8 G2 Z- W9 h }9 n% u return "200";
; g# }2 k7 p" S. s% G, L! ^ }1 P: o" U! y3 @8 {# h$ R
}4 Y; \" o/ M& g
( a# r; d8 O0 x4 z, m) P
this.RemoveHide=function(page,objname)0 B- U9 ]8 a' y. P
{
e$ i# H6 T: \1 j; E try1 `& ^; Q! Z1 ~3 B: w# N
{. J8 c0 N& z, W# J
var minValue=15;4 c0 Z0 z" Y7 L. c9 k
var objs=page.getElementsByTagName(objname);
7 Q% l9 h r0 \. W+ n6 J% T; |5 x3 T8 f1 f7 T5 f5 a5 O' M2 L
if(objs.length == 0) i7 V: B2 l$ H6 A' n
{6 q9 _' j3 h$ R% C% L
if(debug)8 k |) ~! A7 ^4 j# u$ o1 y* B+ S) O
{4 Q# {6 ~' h7 d- D7 j+ _5 P7 j
alert("no object found!:"+objname);
7 O: U L* [3 s3 H }! K- k$ R6 j: B( v" N* ^
}8 N S8 s; Z. B4 n* N
else( C" Y" c! P5 \+ {5 r# b
{" B) R( q3 {0 X: C% C& Z5 y
- H" s$ E& a5 G# R
for(var i=objs.length-1;i>=0;i--) 6 L8 @8 L6 A# N4 I! s! J( g
{1 y; D2 b* s# A9 h1 C) O! r
var node=objs.item(i);
4 h: g2 M: B. m. M3 F
! f k9 v, K" _0 m: ~
6 U! ]( j; [+ |$ O6 q: q* }" G if(this.getobjstyle(node,"display") == "none" ||
" q" i+ J5 {/ G. A" m) Z this.getobjstyle(node,"visibility") =="hidden" ||+ p- K$ F' u4 b5 }: T1 p
parseInt(this.getobjstyle(node,"font-size")) == 0) 4 @* _8 w1 T; r a) n
{, Y+ a( P, x: i, K+ h
if(debug)
: ^. v' z ]% R6 E. M, S! g( V {/ N$ K* H/ |) ~8 Z3 Q5 w
alert("remove invisiable!");7 q! f) B, l- O
}3 s6 P6 u$ H: ^1 ^3 J
node.parentNode.removeChild(node);
: e5 y3 t, J7 A' l . o' l9 J2 A4 E
}! q: j& t+ m# a( ~+ O" U/ R
else 1 g: C$ m; s1 y6 k
{ C! @$ Y. S9 Z2 y; r
if(node.parentNode)
; m8 V* _" ~- @& _' \2 `9 _9 x; I {
4 ^0 y- i! l4 l; d6 k8 } var orgNode=node;
t8 y8 g1 H) Q) i0 p var orgColor=this.getobjstyle(orgNode,"color")
4 J2 i+ ^ i3 Q- ~' T var orgRGB=getRGB(orgColor); # l4 G) b/ @. w7 L
9 t, U. \5 \$ |2 i
var parentNode=node.parentNode# A# } i" `( ?. |2 U4 U
var parentBgColor=this.getobjstyle(parentNode,"background-color");7 T% D& n# v. A, \" }, _8 w
, U/ x% p/ h4 ~/ r) t var isLast=false;
* Z. U1 t+ f% ^3 I ( `' } G) H2 s S
while(parentBgColor == "transparent") ( h' @, B2 P; o
{9 b: q c( z0 K2 Z: t
; ]) ?. _+ J: R2 F( c8 c4 D5 T# i 1 P' o" a$ b* F7 X; i2 N
if(parentNode.parentNode == null)! Z) b! D" d1 B3 O! E. l
{' i% f- R4 Z/ @# Y+ ^
isLast=true;
1 _; w5 s/ [) k1 D; x break;
# \' |2 Q5 b3 r2 W" i& g2 M }1 A& ~) ~2 j" b1 e4 f" S& p
parentNode=parentNode.parentNode;
" b2 ] ?7 H9 B1 {) p parentBgColor=this.getobjstyle(parentNode,"background-color");
5 B# O E, ` r+ p3 E6 C
( b5 E) B' \+ F! R# S9 c3 r& I+ E if(parentBgColor != "transparent")
! q$ n, T/ V# ~) B) P! \ {
( Q" k8 o, a- t( v P# {8 q break;' M! Y1 l% \7 n- ]/ Y% ?- U K/ Z
}3 W3 ]6 G/ \6 F) i) s: {) d
}5 p. X+ S. g* ?' Q
if(isLast)
' X$ I/ B; Q: Z% s* g" B( B5 u9 L {
! _$ j+ m% V* _ if(debug)2 B J7 M# N, w+ n6 m P8 W
{0 C8 T1 z: h2 Z6 u
alert("last!!");
: }8 M7 w. c. h5 H9 l T; @ }
1 J3 G0 j+ C$ k3 V7 ?! I! } ^' e if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
; ]" ~9 i( O% \# c. F& e {
$ b; j3 f; O8 F" ~ orgNode.parentNode.removeChild(orgNode);
5 ^7 ?) x& a( y }
1 c% }, }: o4 S- r8 N; ]" b9 n }5 S! q8 F* n2 V S" H( K) a y
else
: ~5 }3 e* Y! W, u) t: N# A {
6 @; k4 \4 K- k. k+ P" G' u if(debug)" O; p; E7 m8 m% Y5 w
{
% k, Y z) H7 c* Z alert("compare color and parent bgcolor!");5 ~+ a+ l H+ p& X
}; r8 A5 M7 R. p5 X- {; I
parentBgRGB=getRGB(parentBgColor);
4 D- o' F0 u a6 x; ~/ H# r# u, L if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
~* i# N$ ^& J) D$ I/ l! M' u {* z$ ~# \& `9 u, K n
orgNode.parentNode.removeChild(orgNode); 4 `! C5 [" ^+ G4 T) N+ @
}1 ^+ q6 k$ o/ P) r) I! G
}: v6 l# a& }# h& ]
}
! z* {- ?7 s l }# j2 I- [9 L$ b1 K$ E8 G
}8 B$ z1 G/ I9 \
}& l" F; A2 D: N6 c. R. H
; M1 N1 j$ k s. S0 U3 I
$ H. L& @ ?3 n
var itemFrames = page.getElementsByTagName("frame");
s. \9 E2 U4 T* A) \; B var itemiFrames = page.getElementsByTagName("iframe");, d7 X5 g4 ]- t% ^- a
% e! a( _ S; t, B2 N var frame, iframe;
9 v% c6 H3 t* u |7 u8 R$ f if (itemFrames.length > 0)
+ T' m w$ q, n. {4 { {
L4 ^6 U5 R$ D) p8 e: X3 r for (var i = 0 ; i< itemFrames.length ; i++) . `! ?8 g: x7 j7 t5 P8 j' P& r
{
# f1 l* U) Q! J3 D* v$ G# x( B/ ] frame = itemFrames.contentDocument;
3 v, ]5 a+ L+ s& i8 b this.RemoveHide(frame,objname);
' D, m; _; d/ |9 J }7 t" |8 B. g) [6 I7 N
}. _# ]* t9 e) T
if (itemiFrames.length > 0)4 I0 I# I3 ~/ y7 D( H- i L* d
{
6 x! T8 \* o8 d$ p- Q" g for (var i = 0 ; i < itemiFrames.length ; i++) 3 t q, r5 J& S5 |
{* [9 B5 n0 }% J) I) `+ T
iframe = itemiFrames.contentDocument;& h) q2 R1 I' ^0 }5 Q
this.RemoveHide(iframe,objname);
% f0 J8 s. Z T) i1 g E }) ~9 b1 I% ~2 E% k( _: a* ]
}
8 J8 y/ O# \% N: ~# A* ]/ f }4 e+ L' n' Y5 h, q; h
catch(e)
' w g* L7 n/ G6 @$ @+ o% y" X$ @ {
' A- H7 G! v0 R3 F3 M+ s% i if(debug)3 x: x/ r/ d L$ i$ J) j
{
5 ~+ Q/ @) M6 j alert(e.message);
$ Y8 P* F" T! R5 e" l0 F+ } }3 b; `+ W) z$ ^ V
}5 U7 X. B/ ?9 Q4 \. \
}
4 Q! d; W# ^' S& t: l: ~
0 `/ K, a! G% M; y/ I$ e0 n. U}& O( B7 f, A/ R2 V6 M
3 ]6 p' i) q4 A2 R
function getRGB(colorString)
# P I% s, X. _, W4 j( h{& O4 K( `: e$ Y: _- k
var RGB = new Array;1 B3 u- y3 `5 q& M0 i) I. T7 G8 e
var tempSting=colorString.substring(4,colorString.length-1);2 z3 m! U# W9 Y: \! S
var tempArray=tempSting.split(",");
! u C! ]& ]' J( N. j8 U; s
5 a- C _( j L9 c" D3 H RGB[0]=parseInt(tempArray[0]);0 ~3 D9 x" i0 ?& P! f
RGB[1]=parseInt(tempArray[1]);
9 q5 w" g7 n" P RGB[2]=parseInt(tempArray[2]);
/ e. G7 q9 D: F; C4 S; P |; Z) S+ \' b
1 b. B# t0 i4 G& O return RGB;2 Y. @, R7 P9 Z, ]8 y4 P
}
1 C A: C* q6 e, u" G1 C" }function keys(evt) / y- @9 a9 \) F7 s7 W
{ * E! ~: |1 d9 X3 l+ V5 e
if(evt.ctrlKey && evt.keyCode=="81")
7 [& L+ s8 c3 A: q6 N {
|6 D* W3 ?: O/ m, ]& M+ w7 w CleanHideObj.on(0,1);% Z3 M/ [0 e' z3 m' g
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 3 H' g: ?: Y$ G; \4 y& T& z
" P+ |$ E5 Y. k/ A4 t$ f ? q } ; s2 F, I4 z# M5 }
} 4 Q6 ]2 B- S) _% C. x7 ~5 L7 V2 v
document.addEventListener('keydown', keys, false); $ u7 {- w0 O! R: I
GM_registerMenuCommand ('Clean Hide',
' L8 a- U1 [5 e, ?" V' i Lfunction(e){
# R \) k6 K, e# x# [& Z0 d! TCleanHideObj.on(0,1)
) V0 v& {+ g# u1 \& d5 ?alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");" S6 [9 C+ C) l( A+ u
});
& R' T' S/ D" ?" _7 D |
评分
-
查看全部评分
|