|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 * J1 ]$ j `* V0 a+ t% z7 U7 t) F
$ U7 r! W& j1 _+ k: k; W火狐插件,用猴子
: B$ P8 R- O2 S, p, }/ e$ O1 L& j V5 l8 r. o
var debug=false;
8 M& K1 J/ V- [5 E8 J7 b9 G4 {2 |var CleanHideObj=new CleanHideClass();6 t) \2 L7 I& J& x
% q* Q, t: I% W; M. H- t
function CleanHideClass()
- Y5 ?. v4 E% }( I+ }( l{
( q: g8 G2 Z& M2 P* M9 y+ y, T . h) S( h2 k( b. M6 ^# V! V
this.on=function(id,bMZ)5 G' S; y* @6 u! ]8 o7 q" P
{
' G2 c6 \" s6 e& d / w7 t8 }. y2 P$ Y( [4 Z
if(id == 0)7 U) w6 L7 M; N- y: w3 P$ w2 f+ X
{1 U5 g' ~+ q6 h* I) \( b. I* E
var page=/* document.getElementById("content").contentDocument */document;
0 d5 a& q5 M9 F& x, g this.RemoveHide(page,"span");
* b: B4 i. N7 p2 }$ P this.RemoveHide(page,"font");
8 L/ S$ L/ {; H; p) Q- j1 h this.RemoveHide(page,"div");( M( c' K# n1 i, q
this.RemoveHide(page,"p");
; R( `. E+ S1 g% R: c* [
. ]/ N7 S0 O g9 m7 n }) H2 _7 c3 Y5 w/ z. i, T
$ K/ w* Y, D9 h
}
# |: f+ `1 C9 l5 R& ? this.getobjstyle=function(node,prop)' B# r( u% k F( K3 E
{( |0 G. r" u# f" M9 a
try3 `3 V8 e3 O/ d
{- x& ]8 W: ]6 X( h; i
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
3 j5 U) U1 `% A5 \5 ^. _" q }. r F6 o+ w# G% }3 h r1 _' y
catch(e)5 E! t; T8 _5 S9 l; g6 w& m% j) ^
{
# l- i: b: q9 _+ m( h( ?+ n& H* K if(debug)
2 E2 W F9 O) ]* S: I- q4 w0 A {2 ~4 I$ x7 d- ~+ f& C0 \4 k
alert(e.message);, F. X8 v6 j) l" l8 J
}
! a. x6 m$ K7 h# n8 J4 W : W4 T' t. W% ?# G: N; b
return "200";2 f; r4 S* Y# E5 v) C( s
}; _( o) U) o0 O% Y6 o
}
2 D( N3 ?! T. q; r, P) v7 H ! L; z: f8 F$ }. E
this.RemoveHide=function(page,objname). v8 ` p) o u2 `
{
K* r) g' ^. I" Z# V try
: C1 b9 c) z6 [) u {
- g5 W' K6 _- l4 g5 u9 E var minValue=15;
4 D F; g* w4 V# h% @4 g var objs=page.getElementsByTagName(objname); # H- j0 R% m, f" @
! z/ S2 Q: n5 p1 q3 D! @
if(objs.length == 0) ! N: W, W% b& P7 z/ `
{
/ _8 }8 h/ _4 q5 g/ b if(debug)
# p7 k, `+ ]9 i1 y) Z {9 x3 ~2 [% L! [( C$ Y
alert("no object found!:"+objname); K0 ~- W b" j n. f1 V6 w
}
8 K9 e& h1 \5 U- [" e }
3 U* A, W2 p. P: N# u* ^ else
) b& c" H6 w* i, j% z: Z {
N( R5 N6 Y- Q5 V0 f
9 V+ \& Y# X$ L0 ] for(var i=objs.length-1;i>=0;i--)
3 e+ D8 v: ~# ^ {
( T/ o# m+ W) O. p; z2 Z) G var node=objs.item(i); : h0 {$ \& m# O/ r& [9 @
9 B0 \, Z: ?3 Z( O
# H1 @9 r3 a# f" s$ r if(this.getobjstyle(node,"display") == "none" ||; g5 t2 C/ J2 w& N8 a2 P9 m
this.getobjstyle(node,"visibility") =="hidden" ||5 O4 d( m" H( W: P
parseInt(this.getobjstyle(node,"font-size")) == 0)
/ O7 J" o# P1 c {
X; q& |$ H4 I5 C3 s& p if(debug)
) f% U5 c7 X$ `" R, j( d6 s {9 L0 t* i' W9 v$ a
alert("remove invisiable!");
& t5 i: w$ {6 V x X( q1 ` }9 }0 Q F# d; J# ~0 P
node.parentNode.removeChild(node);5 Z+ ]; c# L E* ?# [, u
$ j- |8 v/ K* L
}- d; ]; w1 I* J; R/ q
else
6 C, y5 Y& G n# j {! p' p5 o/ R/ r9 \
if(node.parentNode) : K, i# b: t3 ~2 `
{
/ Z+ J5 B) K1 [# O" e z8 } var orgNode=node;% Y- d1 S' u! O7 d. c
var orgColor=this.getobjstyle(orgNode,"color")1 k7 ]9 y) O3 s* ~2 H$ I
var orgRGB=getRGB(orgColor);
0 T4 a) z! A) P" _/ G # a) O' V' ~1 o- M* l
var parentNode=node.parentNode
$ j1 F0 U0 H( ^7 ^ var parentBgColor=this.getobjstyle(parentNode,"background-color");) Y7 Z+ a' g2 V: N1 ~
I% Q$ ]9 _1 B9 h) y v; ^* }% P var isLast=false;, _7 x- k" I/ N# Z; B- p- @
8 R7 S7 E" H( `; U8 L% ^' Z* z2 C
while(parentBgColor == "transparent") - e8 i' S3 V& n" L7 Y' u- j
{6 F$ `8 k* I- W- ]5 _
, v1 M2 d! m4 q W$ u8 q a
' x, O+ j" Y5 Q6 m7 q# [ if(parentNode.parentNode == null)/ v0 z7 m7 k& H. y
{* D% j/ p% l+ {2 I3 _9 j
isLast=true;
- j* u0 h5 w6 h$ N break;
+ Q, f/ F/ ~9 [ }
9 |& z- b @/ J) D0 L parentNode=parentNode.parentNode;
% ?. i& y- W0 |' w3 }8 _ parentBgColor=this.getobjstyle(parentNode,"background-color");
- I# `1 P% q! l. i7 {
c+ V4 t T/ r y; F if(parentBgColor != "transparent") 8 |( W% L5 p( m4 f9 t" N1 h
{3 v ~) Y2 @6 ^: x
break;& {2 @+ `% x# l# Z
}
/ M7 ^! j/ R. I0 M3 w }( g- Y2 d# q" p8 g+ F
if(isLast)
2 w @6 U' ]+ D+ j {
6 ]7 w1 }3 \5 L+ q) h# G if(debug)
' \2 G; {# m" _9 a {
) |* r' [! a# s0 m" I alert("last!!");
5 N. w% C8 d. k1 ] }* H: J# v( i3 Z% Q0 Q/ W# Z% ?
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
6 E2 A/ N5 Y% ` y {1 k, m/ j. v0 B* X. O
orgNode.parentNode.removeChild(orgNode);
8 e- t+ z7 X0 _& z3 r }
6 Q) ]" J+ l; v }6 I8 m* W0 P; c
else* s, A. m% Z6 B: D/ x4 c
{- F4 h) N1 J6 m2 B$ _
if(debug)- e+ n: L' S: \0 m
{
& N0 U+ H* B: N! p! n. X: C% A' y) } alert("compare color and parent bgcolor!");6 \' I& a* O0 {& \3 D1 _/ c
}
_( L2 V4 I. h$ R! E parentBgRGB=getRGB(parentBgColor);
+ k2 h2 |, M Y3 t: Z6 E+ g( h if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
! |5 @: ~5 h# e/ Y& K% B0 j {. A6 |0 Z# O+ q5 L5 |: F* l
orgNode.parentNode.removeChild(orgNode); 6 h' i/ m. B+ S" N
}( c* O8 d W. z x6 a3 E. [' o; e( w% G+ h% E
}
, \: ], N' X/ | B& Q5 ~6 A( Y- b }. T7 G+ H8 T. l( a, L1 V1 R0 |( j
}
# Q! f( L2 _" i! H( I8 U% y. S }
8 F$ E2 m4 [* C+ A6 B }" m; ~. G# S9 ^( \: o9 y8 j
( j0 I1 r& n# e3 T v0 _- Q0 Y
* h2 H) k0 m) d3 F( ^
var itemFrames = page.getElementsByTagName("frame");
7 j: b: }. Y0 H; G* J Y var itemiFrames = page.getElementsByTagName("iframe");
. i H% R: x4 Q
4 ]9 u0 a6 N U3 r var frame, iframe;
W1 D- P- V7 J if (itemFrames.length > 0)
# y, r) y" X* n" ? {: x4 ~' j2 `3 m d9 `9 g' B6 d1 D
for (var i = 0 ; i< itemFrames.length ; i++) 0 \; J3 N+ h4 Y. z) \# t- ]. o
{: k2 q0 Z2 j7 K& E% s ^
frame = itemFrames.contentDocument;
' |2 T4 c% Q$ _ W! P# o) f; f2 Q this.RemoveHide(frame,objname);
$ G% |5 N1 X+ a5 J- C( X$ g }
: e5 D5 U# m$ d2 M% J }
' c6 w K( x# @ if (itemiFrames.length > 0)2 I0 o; N9 k7 t6 {7 P8 z0 e8 i l
{
4 k1 W$ I7 ]/ s0 T2 L' o for (var i = 0 ; i < itemiFrames.length ; i++) 3 y# K" v# u+ A$ |& W; G' I
{
3 H8 H i9 |! d iframe = itemiFrames.contentDocument;: M/ ?0 R4 \6 R0 ~# U
this.RemoveHide(iframe,objname);
7 D, o0 X0 d1 ~0 N }' C: ?3 s1 R+ K; @8 p
}, B! P, Q/ c: g$ Q
}
9 O" C. Q) x! z8 _, E. M/ c b catch(e)0 h' s" Z8 h; w! u) @; F
{7 K5 j+ @# u3 \6 M5 \. q
if(debug)1 U& f; w! j" v/ [# p4 g
{
( f7 V, z3 ~* G+ l l$ |9 I alert(e.message);
$ x! A) m; S7 ~ }
% {$ J7 c. y8 S7 \8 \ }. C' }" G/ k0 n1 K' {9 Y/ o, ^
}
0 [; m# l, ~% |- r4 K
; q0 r9 }$ O0 F* n8 i}* V& [) V) e/ D- W$ O5 e" m% ]
2 _% M5 y" i sfunction getRGB(colorString)
4 z2 g! e9 d; \; @/ k{- l5 N& @; @8 s4 o4 O, _- f
var RGB = new Array;
6 Z8 \7 I0 A! g& c! l var tempSting=colorString.substring(4,colorString.length-1);( B" \9 j' x# D0 j
var tempArray=tempSting.split(",");+ ^( C/ J$ m+ K+ L% z% w9 v
1 d8 ~0 j7 C; Z RGB[0]=parseInt(tempArray[0]);% y' h& x7 a5 z. S' ~
RGB[1]=parseInt(tempArray[1]);/ t w' B- K s8 P5 f) a
RGB[2]=parseInt(tempArray[2]);
6 Z8 L! C# y s/ g4 j- Y, Y 6 B0 ~ x4 U7 a6 F; ~# d
return RGB;
- O, m0 ]' G m" {- b7 Q& Q4 d8 P7 j}7 ]* K# K0 J4 X+ A
function keys(evt) 0 R9 [! a/ D$ `) v
{ 5 Z( b3 ^# o2 m* V4 H- B9 o7 u
if(evt.ctrlKey && evt.keyCode=="81")
- G+ S4 W0 t6 i/ x& M { # {2 O% S4 _( E* J
CleanHideObj.on(0,1);
; @1 y! |/ ^+ d8 D alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- W! S9 Z- ~% y1 v S( e$ {& n
2 p4 i0 ^; R( N. _ } ' f: t( C- \8 m1 Y( f6 K' ?' F
}
3 T3 a& r: d B1 ~document.addEventListener('keydown', keys, false); 8 V7 G( P6 P% r/ j' Z
GM_registerMenuCommand ('Clean Hide',! P# U b7 B/ X7 w# g7 r+ I3 G
function(e){+ K q: j. {; z
CleanHideObj.on(0,1)
/ Y# |$ K, N3 I$ Lalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");' b9 r0 f( J5 e4 Z
});
8 k, G4 m# p5 B. W |
评分
-
查看全部评分
|