|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
7 r! I F* P8 i' }6 n, u# _7 B. D+ {" w) X6 }3 b S! t: H' c8 O
火狐插件,用猴子
5 f( q- q" J" r8 p3 t+ G5 F1 t# I9 l) N# M, n0 ~( A
var debug=false; 6 a& K2 e; V- }9 B% j( b2 i' A
var CleanHideObj=new CleanHideClass();: U7 s$ u6 u3 o7 `, K8 x
" |/ i( c- V' C2 ^3 z0 a' x
function CleanHideClass()
: R+ a( E' t/ P" G, ^' g( J{
) {$ K5 @7 q- k; F- c
1 o2 q' ]' h$ x0 ]5 p this.on=function(id,bMZ)
9 G6 j( S& o5 Q# T {
; h6 C; L* a7 \& J( v* i6 p 6 \; J' I2 g0 I9 E2 V' T
if(id == 0)1 s& s2 W) X2 R/ n
{! W* ]; f2 `9 B
var page=/* document.getElementById("content").contentDocument */document; # @4 J2 R* e/ i/ M4 ~0 B: }9 ]$ l
this.RemoveHide(page,"span");' f# h& p& B& a3 A
this.RemoveHide(page,"font");( `! ?# Z- O3 C8 b# ^# q3 F/ Y
this.RemoveHide(page,"div");9 }3 @+ `, |' V/ n* R! W! Z
this.RemoveHide(page,"p");
% o1 ^* }6 }0 ^
; d: q' o* F% |7 O }
8 C& J* ]+ O4 D6 \) o& A3 j ' l2 _, ?% T E) g' E! Y ?
}
( ]- _, z9 T$ t+ s2 o9 ^: B4 \ this.getobjstyle=function(node,prop)6 d/ m1 p# y3 z0 D
{
/ w, T7 U' I! q; t. T- P try
1 H8 S: G: v9 a+ A8 }& e$ `0 [ {
1 B: ?$ t3 }* R1 v( _ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
# Y- Z; n$ d' _# h$ t F" `9 p! l }% j+ R% v8 ]) d3 T
catch(e)
( J$ _( b i( u! b" k {6 s1 `- o: g: ?' j) b# n V
if(debug)1 X1 W8 U3 z$ s: ]) D4 d
{( Z* _! R2 E$ t* h8 n
alert(e.message);7 r, Z R5 Q5 m5 z8 j4 L# ?. h( l7 _9 s
}' N/ V- W. }" W' n* V9 a
' N' ]1 h, X0 c0 E# r) t% Y return "200";! L& A( `, N& X3 e P. K ]
}
; y5 f3 i0 \7 o3 k/ | }0 O$ ~9 d: d' f: c0 [2 z& o5 T
/ R" X- v0 [: H- u this.RemoveHide=function(page,objname)' M c, u$ n) _, O/ A; b- f: v
{
, a" _; l( r+ @2 \- I try- L/ i' Q( n6 R% [" M2 }+ A
{9 z+ _0 ~" K. I. r" E4 B7 a
var minValue=15;
) m- J0 q- ?# D3 c p var objs=page.getElementsByTagName(objname); 1 }5 j) f# b/ A$ e% H6 ^
1 u$ h$ ]! p* n3 }6 @4 f if(objs.length == 0)
# g @$ h: ?" w6 S, u+ b# Y# o {
/ I5 B, K. d- \# ~0 m; d. H if(debug)
1 u7 v: p# ^! I; M/ \2 G* G* c { L9 S7 ]7 s& N+ i8 t% z. J, C- K( d
alert("no object found!:"+objname);
: k" E) a. m0 V9 {* w$ R; |; B# P }7 F& S5 _$ [5 P7 ?+ F
}, @$ p3 ? Q! U1 L; E7 t
else
4 T7 ?3 t/ j+ X4 |7 {3 I5 X: N {1 @' H, P2 Q. k
' F7 D( T5 g3 p2 P0 _9 y for(var i=objs.length-1;i>=0;i--)
4 E2 ?$ j" H$ } {8 R( m. `! C/ c. W6 ]1 K
var node=objs.item(i); * @4 i/ o8 g# ^( d8 b5 {
* {; \+ M1 P/ i7 R! a) U" C& ~, H / n' Z+ a6 Z8 D( O! Y" o
if(this.getobjstyle(node,"display") == "none" || |/ A8 H2 a2 l: Z
this.getobjstyle(node,"visibility") =="hidden" ||
3 p' v3 B$ I2 |# I- i parseInt(this.getobjstyle(node,"font-size")) == 0) . c! R p( w1 p: ~# t5 z0 E2 K3 r
{
! O }4 B2 S3 D6 J2 l C H if(debug)
% ~! n) s* l8 L {
5 a- v2 v5 j, ^/ F9 S0 y' R2 Y alert("remove invisiable!");
& r- y# y" z( i) q5 n" n }
. w* C$ u9 |5 W W9 m; T1 F node.parentNode.removeChild(node);, G3 ?! l; {9 C! _1 X* a) Q3 z
- n# g, w1 j; Q* w# e* a
}1 j! B' M3 A; I) l8 i/ r
else
0 o7 E( E' Y: b' a$ e {
) K% M4 `- ?' X3 b if(node.parentNode) 9 a5 y2 q) P1 `( h" S5 M& i) E1 Y, z
{
4 S; r! \! H; y) c var orgNode=node;
$ n! N! Q: m9 `* u var orgColor=this.getobjstyle(orgNode,"color")5 ^* O" p t0 Q% ?* s* U
var orgRGB=getRGB(orgColor);
% a d2 Y+ f t7 M 3 W9 n+ R4 H0 F9 v4 x9 `$ _
var parentNode=node.parentNode5 _& t2 G% h6 R( ~& F# d4 C
var parentBgColor=this.getobjstyle(parentNode,"background-color");; L! Y9 L- Y+ Y8 t
0 W/ `6 B2 W, L
var isLast=false;$ z. z9 p0 x" D
6 f( L4 O' d9 {' H; a, B- I while(parentBgColor == "transparent") ' i1 G7 N; G$ _- B4 _
{
+ s% S1 A H- Q0 C- q6 m 4 p; f7 F" D: l$ l( G! l: B
* t9 P' v; ]) l: o
if(parentNode.parentNode == null)2 } s9 W7 U& C" e
{6 f3 J5 Z0 |8 Z. k: c
isLast=true;
& p0 ?. I& D$ m: A break;
# ?, @6 i, V3 d! j f4 P/ ~7 W0 d' u- ~ }! k( O- X E. Z) u; l, T4 y
parentNode=parentNode.parentNode;
1 o% x, [/ i& E5 o: t parentBgColor=this.getobjstyle(parentNode,"background-color");& P9 d6 @$ L( _$ M
$ u9 T6 O0 K- G% O4 i
if(parentBgColor != "transparent")
$ m0 q4 V/ u$ [& U" A& N# X {0 X: S& U6 b8 ?% I5 r- W8 p
break; N& a5 Y9 a: b* G& A& }8 `# b
}
( _; E U% c4 L' r }$ B, j3 w6 y( N- q7 g% X
if(isLast)
. e: a4 Q$ O& w" N) C! P! d {
4 W) S: O/ X0 \* [# X. ?, t if(debug)% {4 X6 ~5 t0 j* x5 Y1 P
{
6 L7 g6 P3 G1 Y. z6 X alert("last!!");" W3 ^4 b/ m4 d- y) h
}
5 I% G: E. N+ C* F$ S5 L. I if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)) q) ~- R2 z/ H- q' [
{( r8 J% l! e. ^) @; t
orgNode.parentNode.removeChild(orgNode);
z# J% z- w# } }
6 X' M$ P+ J- F: l+ Q }
- O7 c0 j$ V- l3 {. a( Y9 p+ ~ else- Z5 c1 s1 a! w& q0 T
{
2 ~6 J: x9 V- [) ]2 ` if(debug)/ {- k$ k# f3 U; o
{/ ^% D2 @, p2 q3 M2 U
alert("compare color and parent bgcolor!");) X S6 A1 R! Y) i; g3 d! S
}* r5 h. N% H0 t/ [+ |9 R
parentBgRGB=getRGB(parentBgColor);
3 v4 L5 P u6 k% x$ s: d1 Y if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))2 _0 ~% A, u0 w- E3 Q
{+ o: E* A/ }$ u6 W, `
orgNode.parentNode.removeChild(orgNode); 9 D% f7 |* R. M. |5 N
}
+ _) b/ a; I, c. e }
# U4 O$ ?" A& M. E8 v/ j2 _ }
* m+ F6 @" w- h8 F N+ a, j }( Q9 Y# `# {- W: E5 L ?
}
( M% L$ \# ]% |3 t }/ i9 m+ j/ U$ w0 \+ x
* J& |0 Q: Y) E' E( n ~2 U3 q O 0 k/ M4 Q( }. o; w
var itemFrames = page.getElementsByTagName("frame");, X- j- v4 o9 H0 y7 z
var itemiFrames = page.getElementsByTagName("iframe");( w8 s) E- u/ O4 T' T
' L% I2 w0 _: P; T" q8 ?( X var frame, iframe;2 z) C# W/ n" B
if (itemFrames.length > 0)9 B/ I; U/ f l+ h* z, |
{
8 H" P/ D0 G/ r9 K" g for (var i = 0 ; i< itemFrames.length ; i++)
# K3 x) i4 |. s2 B {! D' C' y0 u6 |
frame = itemFrames.contentDocument;: v, h5 R& U; K; x& S6 @4 C
this.RemoveHide(frame,objname);
& c2 L$ ?9 i/ y4 {8 G: C7 g1 ] }" V7 j3 W5 ?8 N6 V( R
}
2 S8 a* S6 d% B% v! I9 F' i if (itemiFrames.length > 0)5 o3 |/ P/ A+ U$ `& }2 f
{
9 L- `$ J2 z* Q0 o1 a c for (var i = 0 ; i < itemiFrames.length ; i++)
; d+ _! U, h0 v: j- T% D2 e {
/ G5 d) X" |: O5 @7 y3 W" i! e iframe = itemiFrames.contentDocument;
, v1 v2 R: x" |0 p this.RemoveHide(iframe,objname); b# E1 Y% G# s/ Q# \
}$ i% T7 X4 n; d+ O9 e4 H
}' j; `& }2 d }- k+ F
}
& f$ A, Z1 M4 E! B7 B7 r catch(e)
2 J [3 `* t7 H/ B) q {' F$ e0 P. |1 |+ w
if(debug)
. N& x1 S2 g1 b9 i: h {: f& G# ?9 G) ?; z1 H' M" S6 R& p
alert(e.message);& ^0 Y; W# {# X9 `
}. ]! a# G' r9 g- s; J3 r/ p
}
3 o; z6 w% Z0 @( N }
) H) U |- s: S" `5 H$ F/ l5 N! N % m7 q! S4 x) n# n" D
}, [) J, K: {. l
& f9 J( d4 p% T l6 ^( w5 ]function getRGB(colorString)7 W, ?; E, o# u
{
- @/ o( L6 d3 y var RGB = new Array;, W8 ^& X+ ~( M2 k% h
var tempSting=colorString.substring(4,colorString.length-1);- ]6 ?1 Q2 V: _' S* A
var tempArray=tempSting.split(",");1 y+ j1 B; D+ ]# [2 k
9 s; B, D: @: a; B& o) g, X6 h
RGB[0]=parseInt(tempArray[0]);
4 ^' O8 m2 F$ { g, k# L RGB[1]=parseInt(tempArray[1]);
8 }% t# W1 P( O$ ` {! h RGB[2]=parseInt(tempArray[2]);' L& @* }" e- I. k
0 j( S" U. d, R0 I M) B7 N
return RGB;
. F6 Y2 X8 B" B1 {* b, g, |}
# f: e# D% M0 D. }function keys(evt) . {% d5 h& v( b2 }+ H+ W' l
{ + x) F# H4 i9 Y# a5 I9 ~) _
if(evt.ctrlKey && evt.keyCode=="81") 3 k, M5 L& _5 b" J
{
' Y$ r# Q" P6 E4 s6 v CleanHideObj.on(0,1);
2 F5 k$ Z' O4 |4 I) k alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); / ?! d, V- ^6 T% l% U! R
x% e' [3 Q/ J' |9 Z# ] }
, b# V0 w9 Y" ^0 ^ } % ~8 d8 c" t# P! @
document.addEventListener('keydown', keys, false); 9 s: g8 G' r. U% l
GM_registerMenuCommand ('Clean Hide',3 t* X, S3 O! n6 Z P; X
function(e){! m1 s9 E5 a$ m9 d- I
CleanHideObj.on(0,1)- t0 {2 l, L! T, z
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");; p) y/ k2 g, y9 \+ n& y
});
/ \4 K' b9 F2 C% F; z4 i( W: a |
评分
-
查看全部评分
|