|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ' o. z! f' ]+ M# `- a) t
! J5 [. u4 O2 o1 Z6 t1 E
火狐插件,用猴子
( u2 O/ c4 i5 B L$ s9 l/ G( X1 ^7 X0 O- }& L6 ~# a- j# r; H
var debug=false; / h+ h) Y( ~# }! D I) l
var CleanHideObj=new CleanHideClass();2 j$ H' A+ e7 J9 p2 i
f( J$ {0 Y( z/ Vfunction CleanHideClass() ; ^6 M/ H& f' ^* g+ L9 @
{
$ d0 ^- M- n' [
( \1 x% H; v9 `/ }0 }7 |4 M' a this.on=function(id,bMZ)
% n( T+ r2 x: L# r! r8 `: t {
( r) a% ^* {) ]8 ?/ j * R8 h3 D% O j5 I0 ~
if(id == 0) x( w! m2 ?8 x! q4 V
{
% E' w9 s9 X; a$ D9 g var page=/* document.getElementById("content").contentDocument */document;
) X. j4 ^" c: a+ e! G this.RemoveHide(page,"span");
' j8 R: [1 c/ ]: }8 f9 m: K this.RemoveHide(page,"font");
7 J: ^1 Y0 h: ]5 `1 _ this.RemoveHide(page,"div");
?: [9 O' N9 E this.RemoveHide(page,"p");
- ?, S9 Q/ r5 m1 n' r9 V
: ]5 P5 Z/ b& N. c, d }
' O" N% X+ H& N( c, S, z * R8 W9 \8 r' ^2 C
}
1 O/ Y& M9 K) u3 H7 w$ w this.getobjstyle=function(node,prop)7 G" J+ u, d" {1 Z9 Y
{2 l% [: r j/ u: ] }) r1 ]
try
) y7 ^: m, z @8 n1 n/ c {
/ i }6 K9 A1 Y# v9 ^2 A: I return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
# Q- ^: a3 C, ~3 Q4 J: [# x; O }' P$ \& v' P A [2 ~
catch(e)
" N% ~6 N) P- o$ w( m- k( k) G- A {
6 e( R6 V# Y: v1 ?) f( s" | if(debug)
+ U- D2 v3 ^9 y5 f( K' Z {
4 N% P& J$ @9 w' `8 e w3 d alert(e.message);4 M e$ r/ E* r& ~( I4 z
}. z. j: N2 Z( n( O e5 R, c
* L$ R0 J) s6 F
return "200";3 X6 d7 l! w, ~& f
}
& M0 Z4 R! B. `' n5 h& D* l3 g# p7 C1 f }5 o* t7 }1 ~" @6 M& J4 ?7 z
7 ^6 W. i0 q/ N7 M+ N6 c
this.RemoveHide=function(page,objname)
8 w9 Q* f( Z0 t7 y& s3 F4 Y( K {& E# e* X4 l/ Y9 L! a
try
- f& o/ o7 N( t% k$ [% t( r0 g. h {
z" a1 o, s0 {4 P, S6 g4 X var minValue=15;
, n1 M \% y: `5 ^' z" @; { var objs=page.getElementsByTagName(objname); : B0 c* G1 J% y* r. O2 l# Z! I7 V
; n0 u. J- v5 u1 X2 j
if(objs.length == 0) ; T5 {( a9 D, p) [! j# m6 J
{/ }( V" l3 A* P1 `6 H p
if(debug)8 {! B$ e. Z# p4 N
{
) g) F/ i3 M5 m4 U alert("no object found!:"+objname);' r7 [+ c: W E) i) ~5 t4 d
}* P' ]. f9 Y, l. A8 d6 A4 u
}
8 z% q9 `! K( f! L; W5 G else
8 d1 E5 a- u2 ` {
0 A) C/ o, ^6 K9 f$ v% s0 ~" } + T- m; s2 Q. X- `* a
for(var i=objs.length-1;i>=0;i--) 6 [% U- v# g" U# ?
{ ?! M ]- i5 N2 s9 |; i& ]( X
var node=objs.item(i);
; i, V3 b( w* m8 Q+ Q6 _" }; F' u
& r- I4 y3 H5 l2 [ + m& e+ }! D! T/ a6 V
if(this.getobjstyle(node,"display") == "none" ||
3 a- x I1 B2 g! ?4 u; i4 L- ^ this.getobjstyle(node,"visibility") =="hidden" ||, W! I$ p8 B6 y1 N0 a0 d1 s8 N5 y
parseInt(this.getobjstyle(node,"font-size")) == 0) % I, S) z; c6 U+ t# H L
{$ F0 U6 Y8 @! M) t& ^. ^3 I8 r
if(debug)
( A- J( O* I2 R+ U0 ? {
4 Q& I$ \1 s" A# l alert("remove invisiable!");& L' T: V7 t! i' o( t
}/ q0 v( G: i- Q5 K% U: [% l
node.parentNode.removeChild(node);5 {+ @/ ?( Z- c( H6 F; ^5 g
" F; D% k1 @- e. y/ t* Y
}
* E* K2 A$ K$ u2 Y" ?% S, b else
& x0 D4 R" ~# i9 v4 C, d" u {
6 f! j! w/ y. y. _2 k k if(node.parentNode) ) l6 Q9 Q* p3 W/ A5 ~( u
{
6 d% e% b" |- V w$ n$ M var orgNode=node;3 ^2 f& p$ W5 f
var orgColor=this.getobjstyle(orgNode,"color")
3 g! ]) G* \. v8 a% W var orgRGB=getRGB(orgColor);
$ l$ U' j. c0 S) i
2 ?. Q# s8 V5 `+ Y var parentNode=node.parentNode- Z( y$ M4 m/ m- F
var parentBgColor=this.getobjstyle(parentNode,"background-color");
( f. l% M2 C( O $ f6 e# j- { p) x1 `% f% d1 [
var isLast=false;1 q0 n: T# f9 [% s
7 \" I3 T; S; a while(parentBgColor == "transparent")
8 m: W1 o. K! Q" o8 ?6 W' L {0 F* K+ D# t1 Q0 `4 v L
' f, Q0 D' a! V
* ]: X; f+ j. ~1 x, y+ W, L4 |9 R if(parentNode.parentNode == null)
! Y: X7 |! e$ c) T {5 p. S# ]/ v8 Q; m
isLast=true;
9 T- j* j2 r, B break;8 B% ?% e+ }7 ^ q. o
}
9 [8 [" p! }7 ]% @+ l parentNode=parentNode.parentNode;- p6 J( l: a/ R% q# I( |
parentBgColor=this.getobjstyle(parentNode,"background-color");
& [ D( U% f& S$ ]: S5 B* G- v; g, b5 F
if(parentBgColor != "transparent")
9 u% q& f& A! j7 r: ~ {
i; h5 h4 P7 E. R, {" i. r9 x break;0 o& Z0 F, W0 H, `# [
}" R) t7 T* d8 I. v' `& E8 N
}2 u% L: ~8 g6 D$ g( E$ p: O
if(isLast) / h, N+ ]" u$ Y
{: c8 ~& @+ w. k& s. i9 a- ~8 ?
if(debug). ^* u7 w# P$ y1 I5 G! x' l. p: X% S
{
& o( b- p" D ~. i# l. O$ O alert("last!!");
" P7 _6 I* y0 Q, \# U8 K9 ^) F }- I& y$ A, e% y$ k2 K
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)); ~. X' z% P/ W! [; {; t
{
* j% @8 _3 Q: u& j orgNode.parentNode.removeChild(orgNode);
- I3 v$ F- q, K+ f+ C }' Y- `: }- f+ n: v. d" j$ i
}
! i7 h5 D& ]6 Q' X/ f; q else
# m1 F6 m% t( j/ C; n( ~$ t. W! J {+ z( s) W' A4 v" ]1 Y
if(debug)% o" A* b7 x1 g
{
1 N ]8 i- h' v1 \; X9 [& b5 t5 H alert("compare color and parent bgcolor!");2 \! U- t1 F# e9 P
}9 m* x; L6 J. z; x
parentBgRGB=getRGB(parentBgColor);9 ]: j; ^6 e U8 S0 N/ [7 G3 ?
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))# O% D8 z' n1 m
{$ l& A! T% {& g- m5 K/ R5 f
orgNode.parentNode.removeChild(orgNode); * t( @+ q" ?# u5 `8 @, S
}# ?, v! G( V) A! u5 n; P
}4 E* l) x0 J$ z$ Z
}
* ^$ m" C4 t4 h" p }
) m& B7 C; T8 T: @% b }
6 C6 `7 l3 }8 s* W; ~; N' u% v& t+ ^ }
: u2 r6 f* z5 `) w. l! z
; _7 S8 N1 ]2 w ) n1 d+ g7 `, D' a
var itemFrames = page.getElementsByTagName("frame");
. H3 R ]+ L* Z, ] h var itemiFrames = page.getElementsByTagName("iframe");- o' P1 `: @* @( r+ l
) t* P5 _1 ?- G var frame, iframe;, k1 Q0 D( P. l* b- F, Y
if (itemFrames.length > 0)
6 ]+ X$ u" f$ L9 ]) c* F' T( q/ ^" G {
2 ?! @3 @) J' b2 u) L" t for (var i = 0 ; i< itemFrames.length ; i++) ( g8 o! ?( w; r. Q6 e, v5 C
{
7 t2 H$ s: Z. Q& P' R frame = itemFrames.contentDocument;
0 c" c5 z! K9 Q& v+ Y this.RemoveHide(frame,objname);
4 p! \# u0 n5 k0 S; _ }( w$ V, v" E( P$ p
}
! o0 P" l9 U/ {) _1 P if (itemiFrames.length > 0)
* y$ [2 F: F3 h- _% r {2 ]+ a# F, R5 `; M8 X+ Y; G7 _& ~
for (var i = 0 ; i < itemiFrames.length ; i++)
% z, o' S5 [3 x6 F/ ~) W5 } {
! K! I! u( q: ~; I+ X: x iframe = itemiFrames.contentDocument;8 o- N6 i5 K, H+ C6 M/ W- V/ Z% r e5 R
this.RemoveHide(iframe,objname);
% v+ B' |0 T: y- f6 |4 `7 F1 {& O }
3 _& t" G `% t# ~ }
! I' c1 z# D6 s }
5 N- j2 Q' l; b7 I [ catch(e)7 _- M6 T4 L- R0 J2 y
{
) O# K6 Z' P" j. t9 R2 ]' T5 X n if(debug)2 v2 H" y+ d' \9 \. @
{
; G h' d/ D, q& k& E7 `- y alert(e.message);2 n3 s; Q2 z! J* I
}, Y! j6 \4 {( z" l8 Q3 V! {
}' n. l1 h, F( b4 q' s9 k
}: D; }& k+ b F% U' h9 W
# c) G0 d8 L- J2 ^8 ?7 U* \9 n}# T- t& d P8 y' x& ~5 U/ K
* z/ W5 g2 H) W0 C8 J4 v: [function getRGB(colorString)
' L# `- ?- ^* i/ B{
2 n. t+ k2 n+ L3 d- E1 [) S var RGB = new Array;
/ d) C& T; r/ n0 |' \ var tempSting=colorString.substring(4,colorString.length-1);
: Z% y N. c3 Q/ g. G7 \! [ var tempArray=tempSting.split(",");, C K! x8 N/ G6 ~, J
4 o2 p: v. @) T8 ` RGB[0]=parseInt(tempArray[0]);
, ?. S6 F3 l* S% Y RGB[1]=parseInt(tempArray[1]);
: J$ H$ x! G5 _ RGB[2]=parseInt(tempArray[2]);: S R/ e" q# W4 i
7 Q6 _/ _! h. R( Y
return RGB;" F8 s' w1 B9 E
}
# Z {2 l6 h- ^function keys(evt)
4 `$ N3 H& V- t- _' x" H {
& c, E% I) Z* Q1 |! m) N if(evt.ctrlKey && evt.keyCode=="81")
& W, u9 y3 D0 V8 z {
5 w! p7 Y! v9 _" M CleanHideObj.on(0,1);: E" z) t: |1 F8 y" W( B/ p
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); & l5 h6 Z/ l4 e
5 ^8 R* a# j7 X! Q# w' c1 S
} , }4 A1 G2 K. [/ f6 V
} 9 A, l. B! M" ^- t2 y0 T2 F
document.addEventListener('keydown', keys, false);
& h5 g# f: {8 n1 u3 q) {GM_registerMenuCommand ('Clean Hide',
/ ]& k- Q+ [1 T+ v. xfunction(e){
. \ s. C8 u$ _* y2 v: c P4 jCleanHideObj.on(0,1)
2 j) i9 n: `0 ealert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
' l# f6 `" h' }7 d5 o% e});
/ P9 A8 b9 Z$ Y' C @! z |
评分
-
查看全部评分
|