|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
4 ?' Y4 r8 W! o b
: D- V! s. }4 z* |火狐插件,用猴子
) s8 s9 {: ~* B. E7 F- e; F! V9 Y
var debug=false;
2 h! c& D( t: @7 Pvar CleanHideObj=new CleanHideClass();5 [, \7 r) {4 H% s* I% @
' L# P9 K) I9 K$ \, j/ |# yfunction CleanHideClass() # W: R2 _7 @- ^
{ G, [0 }! n- y/ K3 F0 X6 Y+ m/ g
$ k7 N* }' u3 [3 i+ r% q/ E% d this.on=function(id,bMZ). m7 i5 j0 A/ m; Z# a
{
/ J1 F/ O1 ~9 [' e( N! h3 p+ J3 o 4 A6 d: c" { U1 {6 C [# d3 R
if(id == 0). n0 n& a( _" X% r. {6 a
{8 G8 r3 s A/ k y% G1 I4 G+ {
var page=/* document.getElementById("content").contentDocument */document; 6 }7 X0 Q, r! y+ t+ d
this.RemoveHide(page,"span");
+ D' B5 {! j5 p- J& l this.RemoveHide(page,"font");4 @5 ?# G2 r2 p2 t8 F9 G! o7 [2 L
this.RemoveHide(page,"div");/ `$ Q& T6 m o# e6 `- g$ X O; Y* h
this.RemoveHide(page,"p");
8 F) {8 I, i$ h5 C+ y& K+ x' Z5 p
: L( ?5 e6 J$ R }/ y" o& f: m, m0 h) {
% e; h3 M2 m X
}) W% A" V4 E) `5 F4 R1 u
this.getobjstyle=function(node,prop)
* _8 o ]- F/ U3 f6 n( q: ] {2 o& I- Y/ h6 j. z6 G' M" N6 o
try
3 [9 _1 @; h2 c* p d {& E0 @0 g+ E0 P' o
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);+ ^# F% j8 d: b }) ]0 C
}, }8 K6 a+ N" Z6 a# K
catch(e)
5 D/ f! p" r" X* ~! L5 m9 ? {( u# w! R# R& o" j8 r" z5 H3 k
if(debug)
* l$ Y/ C m3 b3 i, B$ m {
1 p% I6 G) Q! B/ H; z% X2 O u alert(e.message);
6 ~2 Z! {+ B c, } }
( y. j; b- d4 P* k# }# u
1 S7 Q0 C1 w; P* b5 X return "200";5 v) V+ f1 g# V3 A& P
}8 f$ C3 ^0 F# ^% @( h
}- \1 G# X9 C4 @ G) _) K1 G" K$ _
6 z* n8 o- f+ I" R- X
this.RemoveHide=function(page,objname)
+ B7 F; T3 f9 g {- [, ^) c* H, c6 P
try
% @1 h% w+ q$ C; l& p { |% ^' Z' x9 T% Q/ l* ]; {
var minValue=15;6 [3 _& I/ X# i5 K, Y
var objs=page.getElementsByTagName(objname); / U+ t( Z+ n( H9 e
3 U' m( F8 `1 D3 S$ E, T( J( P if(objs.length == 0) - Q+ e2 Y3 M: q; y. I
{) c$ x5 f! v4 t7 ]# ?
if(debug)- e0 n% g# ^. J& e
{4 | q% s( s0 {7 a! T I3 |. H9 m
alert("no object found!:"+objname);" H& R2 S% d8 S9 I9 W: _ G* c6 E
}- c6 Q( A1 h3 x7 N
}
" N+ M6 L. N) z0 x* |* K4 N4 e else
: o) ^- R4 K. O& a3 x {
9 R1 {7 a- Y6 M! c: N$ Z
6 q' W7 N. F' l/ g/ F for(var i=objs.length-1;i>=0;i--) $ O( `" Q ~7 I8 {- t' _% V
{
1 }' j0 z" v6 A# q- e* I* S var node=objs.item(i);
3 o. M+ j, W; @8 V1 J8 | 7 y7 C7 O! b" i! \
# o8 [1 J9 f. J. r! K; p1 R- j if(this.getobjstyle(node,"display") == "none" ||9 C6 y6 \/ O# ^
this.getobjstyle(node,"visibility") =="hidden" ||
! u! |0 T5 n# U% x* X parseInt(this.getobjstyle(node,"font-size")) == 0) # U, w1 l9 e6 K0 n0 ~
{
8 v1 _& @4 }4 N5 b2 { if(debug)( x' R5 f! j* e
{* h& ~) Y0 t- O+ |+ k+ ~" B Y
alert("remove invisiable!");2 z* g; Q' X, S H! ~" X9 W' j
}) n% V5 ?2 p3 F8 M5 a+ J M. u% H
node.parentNode.removeChild(node);. w4 D5 Y K L
5 h- ~7 N' ~9 @- t: B
}
, I% I+ b/ o% K+ R8 V d' ~) w5 c else
" w$ \9 [% n# D; `9 k" v {8 W+ Z I. _: h( t& u4 x3 I
if(node.parentNode)
4 j3 E5 `6 d/ ? {
% x7 G# P$ N; z, q, L$ V; I) ^ var orgNode=node;
. Z! n* k: t$ Q; X7 r var orgColor=this.getobjstyle(orgNode,"color")1 z! w% o* c; K& o
var orgRGB=getRGB(orgColor);
" M! j9 |9 ?: n, g" V+ `- u1 p) p
3 l% O9 Q6 [) l) x6 j var parentNode=node.parentNode9 k' o$ R( e: e6 h( @6 n4 X% _
var parentBgColor=this.getobjstyle(parentNode,"background-color");+ a; q- b. V1 m" S; W. y2 l
3 g5 v' A8 c) C; @7 }3 L var isLast=false;
) ]3 O4 w9 V! q# T: t7 \ " G+ Y7 x5 g1 {) H
while(parentBgColor == "transparent") & d! a7 O) M) C& x% M, L8 g8 C1 O0 a
{# f4 E2 U4 F& c8 q, V i1 e
; `( z* |& B7 V2 X- z: l/ E q
5 K- S3 D2 ?7 m! b$ H N% ^. g9 M
if(parentNode.parentNode == null)
2 l! S" K8 Z! c5 U+ I1 e {
9 [2 _( ~' f) E* d v& k isLast=true;$ x$ O4 |' _0 H# c P
break;
$ i' y. X" o* ^/ X) x: V+ ?: u9 B }
: Y- M+ q+ j7 g/ c | parentNode=parentNode.parentNode;! Z- X! T( |# |
parentBgColor=this.getobjstyle(parentNode,"background-color");; W7 O+ a3 a1 j1 {. i+ O
6 n2 w' z7 E$ D g. o. k8 [3 A( Y
if(parentBgColor != "transparent") + J; b: z8 I/ _5 z' N9 C
{+ F7 u$ Q( o+ e1 i
break;* o6 D: D) Z6 Y2 B
}! m' w" ~, H0 Y0 d* l) |
}
6 {4 g+ O+ `# P- T8 j8 w if(isLast)
; u6 |8 _" V2 V, t6 a$ q7 L' M1 n {" P8 x4 M. ]" c( v
if(debug)" U5 a: x8 W6 Q; Y# \8 l
{& s, J8 y* Y" ~& U8 S! u5 c
alert("last!!");
* A c& F# w( J+ K7 y, @/ e }: }$ `0 n5 S3 q6 \
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)), ^5 T6 H% H2 S9 g# a
{
4 f% X( r( r4 \# o- R0 {4 ^: P6 g# Y( f7 P orgNode.parentNode.removeChild(orgNode); : s/ e7 z5 P8 t2 Q. }, t
}; z' l( ^+ s. l+ d6 B
}
. j$ P D3 R$ W! _ else
. Z4 O9 l. m6 P5 y' F+ D \ {
$ Y7 ?, Y* \8 \" z& N T if(debug)- M# `: x* q; b4 @; Q
{+ z2 c! c- d4 @$ ]2 L
alert("compare color and parent bgcolor!");
+ b: b7 n6 \( }. K% r }$ M7 K! U8 H6 g6 [/ z' E1 j
parentBgRGB=getRGB(parentBgColor);- I& }% u& O( o3 s( s* F1 T
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))$ [9 z/ m1 {9 V m$ t
{
- x( h7 P3 T, ^. w orgNode.parentNode.removeChild(orgNode); 9 J" L. q" @+ Y; a2 m% q
}
% G" I2 ~$ @, N/ q2 Q }# B0 l+ N, U+ |2 ?
}3 V4 N: b. F9 { l( ^
} n; }) Y: \7 ` h+ U$ g) C
}8 W6 ~. ?- e4 C; C
}
) w7 h& E) R+ y+ O H
3 V' c& U' J( r' v8 G
6 t- r: r3 `6 i3 `# T7 X9 Y: b m var itemFrames = page.getElementsByTagName("frame");$ O, [2 ^ E |1 _3 J
var itemiFrames = page.getElementsByTagName("iframe");. I, n! P6 W0 `& l# f. K3 |. ?
9 S1 `# V x3 {: P1 h var frame, iframe;
9 t8 v7 `, C! Z3 V0 D4 {0 o if (itemFrames.length > 0)6 |& Y' Y3 F0 O1 x
{' l3 o$ R1 A" w4 k6 l3 {( e% W0 V
for (var i = 0 ; i< itemFrames.length ; i++) & k* ~' s/ e/ |! b" x# E" \
{# ^: f8 E ^2 r2 T K" B5 R& k
frame = itemFrames.contentDocument;
0 _ ?; I2 o9 j/ v! j7 T. e this.RemoveHide(frame,objname);
. c: {- ]1 V3 }( W) O }
% k. C, B8 q8 m; a9 P9 G }
1 f Y' K0 u$ |- l3 ~% X R) j if (itemiFrames.length > 0)
5 z6 s+ g! m" G/ M' M0 U6 t {9 s, ?2 e$ f( v% ]8 Y% Z
for (var i = 0 ; i < itemiFrames.length ; i++) 0 h+ j- o* a/ M! L4 @1 n1 z% @/ P( V
{
# \0 A3 a/ R, i+ b& ^4 \+ A iframe = itemiFrames.contentDocument;2 s7 e( T" H2 O x. T: y1 d/ F- F+ l
this.RemoveHide(iframe,objname);
$ Z& T; h) _3 r' s }1 t2 W" `# ?8 u# B3 r
}
4 o5 y5 ]( I" b! b$ k; ]6 |/ k4 E }- i; n7 k9 W% g. u; a! S% L
catch(e)4 ]& F+ R' w# k8 H
{
& Y# J% T( Y( l+ v if(debug)
" T; H# z8 Y; J M; ~* m* R n {
+ v8 G; R+ Z, X9 s1 @ alert(e.message);, P+ d! y5 _/ D7 z$ w
} `$ u! S R0 ^3 E
}
% h* X& U9 x, e2 L+ x } }
I: v0 Y% F4 s& `: A / }4 B8 }0 T$ C: Q( y$ h/ K
}, C7 t% _& g7 b% x8 j: x
# Q3 k3 |' q+ q+ z( y. [. Yfunction getRGB(colorString), k, ]" J* S/ A. M0 |) {- J
{8 F+ U: c) d, a7 ^0 g L
var RGB = new Array;3 }8 m* `3 o3 p- l- m q# f
var tempSting=colorString.substring(4,colorString.length-1);
: g8 ]0 h0 }) q+ U0 u p0 C4 t var tempArray=tempSting.split(",");
' y6 b( D4 r! B; L6 A: E7 g M1 D3 N! c3 \, a' s3 A, b
RGB[0]=parseInt(tempArray[0]);
. F" M$ }' C; ?: y- Z$ | RGB[1]=parseInt(tempArray[1]);
/ }# U; I" E! Z3 x" Z7 h RGB[2]=parseInt(tempArray[2]);
! s& u4 ~% m. _% U' r - K. ]8 @/ X1 d# j- h
return RGB;- m; R7 t0 B8 W2 I* N
}% L; @- Z0 D* {! D+ n' v
function keys(evt) % {+ E- P! C. n& o+ ~0 t7 m/ P! C8 Q
{ 9 o; A: e& R) ~3 R
if(evt.ctrlKey && evt.keyCode=="81")
# E' h7 U1 T& [8 k; U i7 c, O { & V1 R2 D' X" i5 w4 J8 `$ n
CleanHideObj.on(0,1);
" Z) m' i+ C$ \( Y0 J7 @1 R alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
9 x% p: p* x# u& ]
# o q" F4 H( Y8 Z2 q# e. k } 8 N S0 H3 e' Q( I8 H
} " C k% y" L! |4 G/ {* R5 T# E
document.addEventListener('keydown', keys, false); + v1 Q. E4 L4 ]. |
GM_registerMenuCommand ('Clean Hide',6 Y' U A' W& {! G" C+ z: s0 i
function(e){
C) Z6 [* ?5 D0 K5 l WCleanHideObj.on(0,1)* B y4 c/ J# T& V( S. L
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");, p M1 g8 N5 N! X. M
});9 e3 z7 N! W" }2 F
|
评分
-
查看全部评分
|