|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
) v8 Y6 U1 ]- N, p2 A* S2 j2 i Y4 y9 @) q
火狐插件,用猴子
0 n( c. j; ]0 [+ y
0 N9 e9 ~4 Y' b- Q+ L5 Evar debug=false;
0 n' q' M( n5 B) I6 }! @' a* W0 lvar CleanHideObj=new CleanHideClass();
9 s! c2 Y3 x! e" J4 B5 D: }; u. F
) h+ E$ z1 @( r9 p; X7 `function CleanHideClass() 5 F. y- i# }5 m
{ . h& N+ C9 P- m: o0 |+ h7 |
4 _ I$ |/ P* O1 @
this.on=function(id,bMZ)
7 \9 D+ m, t4 z1 \' g/ R+ m9 z {% j! U+ p& {4 ?6 t% n! ~
- x3 m/ `. d8 D
if(id == 0)
# O! w: d% N% T8 P, [& X O0 r {5 p S5 N) k ~9 f; {
var page=/* document.getElementById("content").contentDocument */document; 2 ^; \+ C* N7 V9 H, l, A7 e, _ G
this.RemoveHide(page,"span");
) R6 t( G/ n, K this.RemoveHide(page,"font");! u4 r5 Y& ^6 u
this.RemoveHide(page,"div");
% I+ C0 v; e& ]5 P this.RemoveHide(page,"p");
! ~, a8 F) {6 x6 \ m 4 `& H q G' E3 ]: T0 ?7 M6 r2 G
}
1 C+ B r* P+ `/ i, H$ P , J2 b. K' f7 T( e5 Q
}9 k3 d5 G/ D3 q ^( v
this.getobjstyle=function(node,prop)( K! ` K$ ~* X+ ]$ F3 w) ~% D+ g; T
{
2 l+ ~1 c$ k8 x7 z; O2 `& ] try* p% G. B2 w6 R& J M* M
{0 Z$ E( y/ d) x% H
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);, V9 `. c, u8 a
}0 w# L B7 Q6 k5 x1 W5 y2 o; n
catch(e)2 D+ ^. U5 P P7 t9 q- `
{1 C8 D$ \% F- T
if(debug)6 L6 {8 a' ?% J) @/ X4 W- ^
{
# _% ]. d6 n& F& O& a8 P3 L; N9 @0 n alert(e.message);
7 k, T. d# m$ t+ Y" g- j }
( W, V4 w1 S* S/ R9 ]9 a
" F; j, s: L* V return "200";1 t6 w9 Y- C. M3 }5 W
}" h7 q0 ]. P4 j' b# K
}
: B9 S4 S; ~4 d: H! ^4 ?
& A0 w# h5 w, s* A1 G, i this.RemoveHide=function(page,objname)
* _9 {# e: B! J. h( m) t( e {4 J/ q( F6 n A4 B" j
try
( Y" u$ S# z& Y+ Q {
( r; g8 u. _- F& { var minValue=15;
6 k4 ^, T, W2 q var objs=page.getElementsByTagName(objname);
r# D% B' |" [! T% Y" w2 y/ j! B1 W( _/ z
if(objs.length == 0)
+ M% H% K1 S: f {
$ J5 A- h% }$ r% ^$ A if(debug)4 g3 y9 W c) @0 z& B* F
{8 M" B6 u- h1 Z2 D
alert("no object found!:"+objname);
$ n2 A' m6 s# L1 z3 @) V }. F9 v: }4 m4 C
}
& J6 W' j. a9 I7 E6 H else5 K# i0 N6 y5 l+ X! r
{
) h. ?8 Z; l1 u" {1 `- r
2 f' X" r9 F. L( v for(var i=objs.length-1;i>=0;i--)
8 s) _# M, \2 m( H {3 @2 z1 t2 `, K9 M# m1 y2 ]
var node=objs.item(i); ) z9 ?' s$ w) j7 A4 m/ Q
5 w, W, w+ L: E3 ]
3 \0 h6 L/ S/ w" z3 i# f if(this.getobjstyle(node,"display") == "none" ||$ z, t! q9 o# `- `3 P, c. y) {7 w- p
this.getobjstyle(node,"visibility") =="hidden" ||
' s' l, ]- a/ @' L, W parseInt(this.getobjstyle(node,"font-size")) == 0) 2 o3 ~$ @; D2 l' W
{
" E( \$ m8 B, I- O- _. D1 a if(debug)# l, c5 O2 W" d h
{6 ~! E- H- o5 O0 a
alert("remove invisiable!");' x& O! f1 |6 D: J s
}; Y1 I( B- `) {3 L+ ^0 E9 K
node.parentNode.removeChild(node);, k6 j) _: B4 ~4 ~9 q
) K! _3 ^: e+ d8 C
}
1 D/ E) a* H- ~- f else 8 A% Q- A& t5 X4 E0 d7 O" Z
{
/ r* n3 M) o0 S+ C# g X if(node.parentNode)
2 u/ C3 K% o5 R% H( J2 y {; I1 A! j- B2 H, f
var orgNode=node;8 C+ J7 J- e2 Q
var orgColor=this.getobjstyle(orgNode,"color")" l! [! c, ~! q2 o8 O
var orgRGB=getRGB(orgColor); " s* Z: V4 L* ^5 z+ p
6 ?2 U5 n8 |: w% o# q k" S5 W5 S
var parentNode=node.parentNode% l' x8 F! w7 G5 P& O- Z
var parentBgColor=this.getobjstyle(parentNode,"background-color");9 h% ]5 O. V, S2 e$ C- k7 a! Z
$ ?5 t! _- d. V1 @* p( R8 M var isLast=false;
2 D( Y i/ F4 b1 A! s 0 o/ t* a9 g# c! b2 \
while(parentBgColor == "transparent") ( E2 R9 M) O, u+ e7 O
{
L* ]. ]- p2 Y" @8 |: y4 A! w ) m) m: H: P% q7 m7 Y, E8 O: r
" i4 E4 t$ m( w1 E' V if(parentNode.parentNode == null)
+ O0 F! b- q) |( a4 z ~ {
* F7 F- L# g2 t$ e0 q! ^ isLast=true;
* ?" |' ?: }2 k. L$ G- h7 H break;- L3 C; M2 v( n. z/ q" p( @8 G
}
, G7 q* U$ f- P5 c/ _0 K parentNode=parentNode.parentNode;6 Q. N( Y' X/ A# F
parentBgColor=this.getobjstyle(parentNode,"background-color");
. |7 ?! A# y9 r5 S7 e- D2 O; D' S9 d# Y
if(parentBgColor != "transparent") 5 Q: n) I! `7 l( T' V
{
7 M6 i: w3 I- B( u+ H; ~ q break;
6 N/ A1 B7 S/ I% d }
6 d2 N1 S5 C0 C1 K4 o) t% O$ {. _ }
* r. O$ x# ?3 q5 A3 p4 D/ M( q if(isLast) ) b" t0 ?* L- s' v% R1 ^# n: C
{
5 `! e V* f2 a; Q& r+ O6 z! P if(debug)' \. k8 b3 P9 A* c( T/ F, T
{" ?" N! G) q |0 N' V: Q% `% Y
alert("last!!");
- I0 e/ e4 U! z }
! q. m4 H3 j) g) P! B, o if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
+ m5 R* q" f8 r! ?* v1 V {" \/ _9 q! O, P$ k
orgNode.parentNode.removeChild(orgNode);
3 A8 z2 c0 G8 v6 T" Q/ {8 V! w: S }
! c* A7 T: ]9 D9 b Y }
6 l# Q& U$ @1 |2 v& T else
- ^7 \6 F- u+ f {& L- `$ u! |& w* X# G/ d5 \% q) v
if(debug). j6 a% c8 ~; l, U1 m5 y
{; }/ I' N8 s. K; e
alert("compare color and parent bgcolor!");
" F, N+ R/ V7 N9 u# ~ }
. o& j( i/ Z2 t+ ]' U parentBgRGB=getRGB(parentBgColor);
' A) E F0 D. ^& v4 a( S( s if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
# ]3 g" J' H/ n, ^ {( }! [" E# O. k! R# [' E
orgNode.parentNode.removeChild(orgNode);
) P9 n; j7 O9 k$ Z# k }+ [/ L8 K' p! W/ m0 S9 k
}
2 }; p2 Q4 b; c- x8 l, k9 C( W P1 G1 j }
! n* W, i% C4 e }
9 r( @# S" [5 y& g }
6 _: k+ ^7 Z* z6 Q3 [9 _ }
! t1 o8 G$ Y& M5 Y ! w' D/ r/ [& z+ r4 Z! s4 r/ z
- x4 j4 f7 H$ i# y) n$ ?
var itemFrames = page.getElementsByTagName("frame");, `& X# d- `; n) i
var itemiFrames = page.getElementsByTagName("iframe");
/ R3 m+ n$ E9 \4 e1 m) `+ P 1 D0 J' z$ p" h4 [1 y: s* V' |
var frame, iframe;$ V9 X7 f. R/ L4 p- J
if (itemFrames.length > 0)2 W: ?5 [; K3 _% H0 C
{% v. J: _1 Q: f2 T5 |! ]
for (var i = 0 ; i< itemFrames.length ; i++) - P+ M9 y2 O: l- Y) t# |0 t
{
% `' J, i/ @: [% K frame = itemFrames.contentDocument;
* q- z) M4 y' t' _2 q this.RemoveHide(frame,objname);
! ~4 W3 Q0 N* R0 n }, x3 f) \( i# V) w8 @, V0 I
}
- a5 X0 K1 [8 g& S3 X9 u- } if (itemiFrames.length > 0)
* ?# u+ B1 R s0 s; q% F! N# B {3 h" `& k; h6 _: Z# F& d: K
for (var i = 0 ; i < itemiFrames.length ; i++)
. M2 F" G1 Y, J: V {# i, C( h4 _( T6 B# a/ ]
iframe = itemiFrames.contentDocument;
0 b+ K' j( m. K" l$ g this.RemoveHide(iframe,objname); 3 X( e# b! m- L( f! ~1 r
}
9 o' m9 X3 l1 U6 C }% b' \2 ^* |! K! q; d
}# J5 k L) f7 t9 _
catch(e)% v6 B! F2 y% M7 J( B6 n( ~
{% ~" ?: z& g6 Q3 L7 S
if(debug)
. ?; G- {& I+ e+ J+ [ {5 u$ Z+ z' t$ G5 A4 b( K4 [) H
alert(e.message);
9 l% y! S/ q% q6 R8 Z }6 U9 f0 Z; B0 t ?1 w( v
}$ e- _; ~2 \8 U8 }! O$ J: p( D& |
}4 S- s! c! {5 x6 A* {9 h
( N& X8 k/ x! L) Z0 B% a" X}
. f8 k8 c7 K- N. d0 C1 N6 Q/ c( i+ e
function getRGB(colorString)
' |- i( U1 a6 y- Y2 ^{" h O* l9 g8 v
var RGB = new Array;
/ _% K$ G8 `, _3 j" t+ O. s+ P( ? var tempSting=colorString.substring(4,colorString.length-1);
( a( S0 O u* X' r var tempArray=tempSting.split(",");+ ^4 @- \( c1 N: |# f
( O1 M# t ]9 T6 d& L
RGB[0]=parseInt(tempArray[0]);# D( l% \- P% s. A- T2 Z
RGB[1]=parseInt(tempArray[1]);
i0 c2 p( O! E$ D1 d RGB[2]=parseInt(tempArray[2]);5 l! Z6 t" l7 g) `* L' b
. j7 n3 Y1 ?/ M$ G( S8 t return RGB;
' {9 K" ]" A/ [0 d! i}% i" m4 {3 [9 }/ H4 ]) T
function keys(evt) 3 A+ M% ~8 W3 ?
{
/ Y9 [: Z" B% ]& t if(evt.ctrlKey && evt.keyCode=="81")
7 A& Z4 D5 H' v0 U( q! `5 } { + k( S9 ~" b$ v5 A
CleanHideObj.on(0,1);
9 _! O. c. J. _9 c alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
5 s$ y" G( N* P) k & V) L7 w+ R6 ^& z* u) S( V
}
. f4 v7 n- s8 G7 | } ( b2 V5 e- B5 c0 x9 i7 J
document.addEventListener('keydown', keys, false); # O6 J6 Y" J( g9 ]0 g2 f& ?& F' C
GM_registerMenuCommand ('Clean Hide',
7 F$ N0 w8 z# m7 ^' Bfunction(e){% S; E2 N) J# g* T
CleanHideObj.on(0,1)
0 b5 M& \1 ]$ H8 B& s, `* c( }, ralert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
$ \3 e: C. L4 r( y2 f});
, F/ ]2 I; q6 S |
评分
-
查看全部评分
|