|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
" a! Y; b- E8 Q0 J/ s) }% i% Q( t& b1 ^) T0 I1 L
火狐插件,用猴子
# y$ u& @6 J! j1 i
) y' t0 L* j2 |var debug=false;
& `4 p# }5 h; Qvar CleanHideObj=new CleanHideClass();+ \/ _8 S9 G: O8 F
7 S2 G& }! O! J, w* M$ w) I' k9 |
function CleanHideClass()
4 u+ @" [ k# _1 j h3 d+ a2 C{ # [; a1 A6 o% P C# n" J
7 j) C( M6 g, ]: G/ P2 A2 F this.on=function(id,bMZ)
: u) |% k0 C3 r4 x( e {% F {5 I: I. y" P
# R2 I5 c8 l$ W. M; R0 o
if(id == 0)+ e: V8 X( e! D$ y6 O( g( ]
{5 L9 G' @$ F3 W0 S
var page=/* document.getElementById("content").contentDocument */document; 7 G7 v* k1 C& B
this.RemoveHide(page,"span");0 g/ }+ o% A4 |( H1 u
this.RemoveHide(page,"font");
) S- \$ I) ?: \% [/ _9 O7 m- d6 S this.RemoveHide(page,"div");, i! X( i* j8 `6 D7 W2 c3 h: e# z
this.RemoveHide(page,"p");
% j! u2 X/ u f. Q: i% O 8 j# P) U; L/ R- R/ k
}+ s2 S% x) f- H7 ?' }1 N
9 l4 A; j( i+ F$ G- M
}
8 x% k* }4 L* ~! ~; v: l+ W this.getobjstyle=function(node,prop)
- Q, h- y7 d8 [; z% M {& \2 y- p( Q1 _, g" R# F4 c: D
try n) G7 c2 C+ }
{
8 q. i$ a( V" M3 h+ q return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
0 m5 ], k7 k8 A+ y4 c }" t1 w# R, M; W& _5 [9 N- E* v) x7 b0 I
catch(e). {' o& w8 @! w8 j! w' O
{
- o. o: p* t+ N. | if(debug)7 a2 n' \, z5 o4 [! M* z
{
3 v" E1 s2 S7 m alert(e.message);7 o! l, |$ ^$ V7 f
}: U p1 O- Z) ]
: V/ t# P- b$ H4 N( t/ i, F
return "200";9 L" s* G4 B. U6 w& w
}
) l" }2 P. J& R }
2 k1 \" f, c0 e5 r5 ] 5 q! D8 M0 L( P+ W K& u8 }+ m
this.RemoveHide=function(page,objname)
" F7 {2 ` d( p {
5 G) N. X* G) F, B( I; w* U7 I: O try* B# t. ?. e) h) F& u, s6 d6 B4 T
{
}6 a ]7 |# \: j& @9 i var minValue=15;) J$ v; M- b( }4 o
var objs=page.getElementsByTagName(objname);
" I$ D3 r1 e3 Q$ i' X
" j1 }' Q& v+ k2 Q) ? if(objs.length == 0) 4 z; [! w: C4 |
{
. [2 ]5 u0 a- }9 j( F+ I+ k if(debug)5 t7 w9 d+ {7 [& j) {$ I/ d
{
% h6 B3 L+ o9 K alert("no object found!:"+objname); e( E4 P5 h5 Y, T) r: O4 K
}
* b; o! d) |1 m! V# S }% a/ v& |1 @ X1 N5 p- ~% P5 `' P
else r7 [# L& K: o; e' @+ _$ B7 }
{7 d5 B& H& C. V( k; j0 b
2 ^ }' j- A1 U for(var i=objs.length-1;i>=0;i--) 0 H$ { Z- N& L S* H. k
{$ w+ H4 _" \% S
var node=objs.item(i); ; _& ~2 L8 _+ J! v7 }( n2 [
: ?/ o g. f* u8 g ; l% s7 X& t! R v. D$ P
if(this.getobjstyle(node,"display") == "none" ||
1 V. G$ i- {+ B9 Z, v this.getobjstyle(node,"visibility") =="hidden" ||1 ^) N( V5 b" ?: x" O# Y6 J, h- B+ `
parseInt(this.getobjstyle(node,"font-size")) == 0) + Q V4 l. q; w& ~9 v
{4 w z8 X0 _. O) d
if(debug)
9 ^% s5 P! B. t: p# Q {
' e) n, Y- C8 {7 y alert("remove invisiable!");
; l8 ~8 b" g7 q7 t }5 p4 q) k; H) s
node.parentNode.removeChild(node);& u" X. z/ m+ R
`' b2 Z; q( _1 n4 O4 ~' c8 b
}; t' d. H6 i1 R* c/ Q/ h, o) e
else
# `) b1 v2 ?' [2 q* F& J {8 r' f! B5 D8 N& ?3 C4 R
if(node.parentNode) ~' _# ^6 r9 r1 d5 P' @
{
6 C9 _! [$ L% b4 Z. ^" O- Q$ h var orgNode=node;# A% f* C T& F0 m
var orgColor=this.getobjstyle(orgNode,"color")
+ W: |0 T+ ?5 m/ F! u: o9 R1 u var orgRGB=getRGB(orgColor);
6 q0 V3 C0 z' X8 x: W" R
( C* K( V4 U% O3 Q: Y) |" G var parentNode=node.parentNode
& X9 z" F9 j$ z( [3 b/ A& g var parentBgColor=this.getobjstyle(parentNode,"background-color");; E/ ?; ~ |/ `2 ?! F
6 B2 W6 }9 W. x
var isLast=false;3 Q8 {! F4 L* D3 {
. Y1 y8 ~& n# C8 q( ^1 @( W$ b+ _
while(parentBgColor == "transparent") ) t' Q7 v5 S" c$ U$ D
{. y, }/ Z. H. D& W+ ~
5 u+ X; h/ w* T& I; F- D x. m 4 k5 A- q! D9 d2 G* v# X
if(parentNode.parentNode == null)8 D% i: g4 o1 q3 u/ I' J1 e
{/ n, I+ Y+ P @" j, k' w5 Z
isLast=true;
0 R% T4 P+ l$ Y8 @, K- U* ?4 T break;
5 {, Y' {& r1 o. \' b }8 \ c& r, V! @0 J' n' P
parentNode=parentNode.parentNode;! u6 c, O6 W y
parentBgColor=this.getobjstyle(parentNode,"background-color");' E5 `9 l# ] i @8 @* u4 \
! ^3 F- D* }% E
if(parentBgColor != "transparent")
1 @) v% [. D; X {
i4 O, o- t/ [+ |% S. G( J' {# a break;
6 j. R7 a( M' B7 x4 O+ y- r" R* r1 K0 | }
- V: _! Y+ V# ?0 ]( X5 O6 b$ ? }
" n2 A' D/ v' B4 J& E if(isLast) 0 p7 l% E( p9 j6 e# u
{ h* U3 N6 i' y8 s2 p
if(debug)* S* ?6 r! h0 r. ^6 ]6 o
{
" K+ c' d% ^ A1 t alert("last!!"); T. D) d. u1 N* N
}0 E' b+ A+ V- b' ]5 w: U# u
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
, w/ N3 P/ v' U5 w- [ {
% y* \' x/ U) @" y! a. W' @" { orgNode.parentNode.removeChild(orgNode);
S. U/ K8 P) G: W8 Z7 E" O }$ }, P% {$ L) a1 F2 k+ H, C
}7 N: D F. R% T. f0 r7 ~
else! @9 a% k4 f) P( n% U4 O) M7 l
{
# w( U6 s% B' R! J% q if(debug)
, x9 H( Z" [' h8 I8 A {, W4 d+ }. L* b. [3 T: y R
alert("compare color and parent bgcolor!");
, d8 z# k: p l9 H }% m4 J, l, W' G7 Q
parentBgRGB=getRGB(parentBgColor);
+ k' l# f5 _: r6 v if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
8 S0 O; t1 a( r, F6 [4 t {, f+ t$ O0 S( u; ?4 f. n" |
orgNode.parentNode.removeChild(orgNode);
6 O( l& i/ X: u* V! O$ d }7 q9 @! E7 T0 z7 Z$ w% G0 y6 |
}+ y; Q- k( ^- {$ S( v! R
} _% ~+ R( q3 \% v" F& C o
}
1 ~5 n0 H4 g7 h- S2 C* J6 x. W. f }
5 @! x4 k) k1 _$ x$ i( _6 d }
5 n9 Q- M$ l. `: l: l2 b. X" l6 @ ; V1 s2 Q V H9 V9 x7 s5 c4 C1 y
7 P4 f' [# M6 Z4 u9 a G var itemFrames = page.getElementsByTagName("frame");
- M9 _& L" Z0 g1 d var itemiFrames = page.getElementsByTagName("iframe");
% p3 v2 z1 W0 T' i0 d6 {& k/ p % V0 d: f ^3 z! n" O2 P% n* F; v
var frame, iframe;! ~5 K* M% T: Y7 Z; s2 w+ M
if (itemFrames.length > 0)9 p9 k8 A# ~/ P
{
5 ^( _8 ^% Q$ x1 ^ for (var i = 0 ; i< itemFrames.length ; i++) 8 G* @! \1 C ]# Q8 U
{' [' R, T8 U1 _8 R5 v" T' {
frame = itemFrames.contentDocument;" K) j/ F+ ]& H8 n$ L' Q v$ f, r
this.RemoveHide(frame,objname); : V: ^- Y! y0 l' D
}
* ^. r6 g4 T" b- \2 j, W }# j0 w$ I0 s/ W3 k4 A* }
if (itemiFrames.length > 0)
- z7 C4 f7 a- P$ I/ ]+ X% Y {
) {% t9 k( ? F for (var i = 0 ; i < itemiFrames.length ; i++)
5 \+ F3 Y& I. ~6 k5 D {
2 D) h2 L( k4 h6 m4 n* y/ ^ iframe = itemiFrames.contentDocument;
! o% {1 |( x9 g* |& Q0 z7 V1 q! E; x this.RemoveHide(iframe,objname); 8 ~- h% u/ s; y) x+ |6 J& `& F
}
& q) K( q5 Q1 ]8 U: E; g }& z2 W& n+ Y% h/ \2 }; I
}
3 x3 P: u' D. N! B9 _" V. H catch(e)
% v6 R8 D7 T. ^! t$ { {
6 X" f! u% b9 T/ Z3 k if(debug)
]0 W0 `0 U# p' U9 l( @- f2 l {8 {& e7 [1 U9 O! g# e
alert(e.message);5 f% l5 z9 c2 r" p7 [8 e, }+ ~4 ?
}) M3 y9 ^0 b: h* L4 e! C- X
}
# Z b3 M q/ _0 D }
' G& _6 E3 j" Q* I$ \ - X, U, v5 G& u$ D$ y
}% f& F5 l2 Q% W1 ?0 l
& m) X( b+ b# M1 ^/ T7 @! Z ofunction getRGB(colorString)3 y- A. T8 t9 M* o
{% K4 V/ M( P) R& D# k
var RGB = new Array;
/ T0 c' X$ a- s var tempSting=colorString.substring(4,colorString.length-1);
9 V* r( z8 _, p. W var tempArray=tempSting.split(",");
$ f6 z7 S' ] ^9 h9 f$ ?7 h2 W- S& z, n: M
RGB[0]=parseInt(tempArray[0]);! j, K, m1 h% v, ^8 h9 x$ l" @7 D
RGB[1]=parseInt(tempArray[1]);
: x2 B. B% P7 i8 v RGB[2]=parseInt(tempArray[2]);! b, R/ D; O/ a/ d D0 d
7 N* `. E4 N( X, z0 H7 J4 r% p
return RGB;
& n/ l; T2 `" v0 x$ t8 L}
5 U3 B% C. O4 Jfunction keys(evt) , J d* N2 X3 U6 f
{
2 S6 u+ U# j: M; u! ] if(evt.ctrlKey && evt.keyCode=="81") % ?. h+ ?( z$ x7 [+ H+ J
{
) R' U+ v( j" q& r' y4 h) y8 r CleanHideObj.on(0,1);/ L7 E' P7 \" r
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
$ n3 I" }# k) D . Y! E/ C7 q6 k
} 2 U j; k7 S3 n2 S
} - B! `7 R) K+ p# y" ~! c3 ]
document.addEventListener('keydown', keys, false); % @3 ]8 B5 d @" x2 v
GM_registerMenuCommand ('Clean Hide',, L* a+ ~* M5 H+ Z3 j
function(e){0 g* o% V: s& n+ }
CleanHideObj.on(0,1)4 T c4 U* J. C! m- E
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");- o. \/ ]: D; O) ]3 N7 ?
});
0 S9 N# f4 F8 ? P$ T0 n3 H |
评分
-
查看全部评分
|