|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
7 w& g2 r; D4 G. t( l
. d& u1 y" y& D. ~ x3 \火狐插件,用猴子
6 }+ I4 t' ?, Y, ^6 M. b! H8 l: J& e# y3 L' Z
var debug=false;
. F' _* ?3 ]- o* G9 vvar CleanHideObj=new CleanHideClass();+ _* T9 r5 B$ C' m
) ` b0 p& _9 c' f/ w& Efunction CleanHideClass() 7 w# Z' u' N" m: g$ M
{
7 v: P1 J6 |( L w: }# ` 2 y" l# q6 T. F& s) U( e* K! N
this.on=function(id,bMZ)
, j: ]* ]% s/ _7 ^* }( Q# ?7 t {
8 F3 D0 F9 W5 I. a4 O, D ' P( [% v% ^% `$ f
if(id == 0)
8 D4 z4 |) E) j1 e* }9 Y. B, s {5 X2 n* x! z( u( ^: X; ^
var page=/* document.getElementById("content").contentDocument */document; - e% }; {, ]. V( \3 Q0 t
this.RemoveHide(page,"span");* X) J, m2 ]9 B: |( _; _( T
this.RemoveHide(page,"font");
$ J. q3 ?- v2 y( k this.RemoveHide(page,"div");
2 H: `7 s4 }: y% q; T& ` this.RemoveHide(page,"p");1 W' D! K2 I1 e( v
) W; i' n: s- V1 }' t
}; D9 c( ], X& W" s( ]# Y2 y
8 r5 M- L8 I& Y
}8 z# r) Q* l& i7 A8 _ U
this.getobjstyle=function(node,prop)
% T. K3 H3 ]2 ? {
2 c" v: F3 o; s% `' I8 @3 }. Y try
- G1 Z2 n; V5 ?9 j8 E, O {7 X ]1 _2 N1 W8 y
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);8 t8 T: P) ~8 M+ I$ r3 F* ?
}5 u" \/ p U- v$ Z: L
catch(e)& \( V- e7 E, B
{; O9 Y! Z. q0 T$ y/ Z/ S3 Y
if(debug), |' k- N* r% M
{
) H& i8 \2 Q% ] alert(e.message);2 A8 ?( Y8 G0 R) o. o
}
! L# C" h- ?2 u/ y
7 u, ^4 L2 p( z* w! ~ return "200";
6 ]2 Z& F& {0 K4 \ }5 T& w7 ~! O# |# ?
}
( x2 R; ~9 f# Q @1 b" a
" F B5 a+ v. j. f9 d# \ this.RemoveHide=function(page,objname)
8 z0 H+ A3 T z- @- Q: K {* _. a9 ?9 ]9 n- c3 ]- E5 t
try
% I- Q: Q) C1 l2 O! c {$ r' m: \0 a, E- |
var minValue=15;: m* K1 K1 O( D4 i0 Q7 r4 r$ _
var objs=page.getElementsByTagName(objname); / e0 f" B- }; k7 F" t
' A" ^9 m: `. D! g2 W6 J$ I
if(objs.length == 0)
- j& M) a3 X: c* s" } {" o4 H4 ]3 f9 z. O, m; W& J
if(debug)
: W" p2 z( C8 t2 X( B9 [) R {
0 T& j+ a: h: k9 V7 @$ y alert("no object found!:"+objname);
( C5 J: j* M- R: R8 J; W }. N. |1 a% h3 U9 O8 w' K$ G& n
}* g8 W+ i8 T0 k% @2 Q
else
# r& t: v! O) q# o" y% G/ S {' w- }$ p0 l5 X+ a3 {% Y
& E8 C$ F1 L' Q' D8 d
for(var i=objs.length-1;i>=0;i--)
# x5 v& T. ^' @0 s {
) P# y6 \2 F. u; y }1 N var node=objs.item(i);
9 s* ?3 U( `$ J* r9 c & c4 Z4 g1 g7 ]9 H
6 Z I6 D( o! r" }9 u
if(this.getobjstyle(node,"display") == "none" ||
$ F# ~- \ |2 f this.getobjstyle(node,"visibility") =="hidden" ||
! F# ~# E4 Z/ l' k7 R. |' y5 V3 A parseInt(this.getobjstyle(node,"font-size")) == 0) 0 e' S4 _: p3 b
{" h2 _; ]+ d* k! u% N
if(debug)
7 W* Y$ ~" d [; u {* p7 N" l! L: P' \" {
alert("remove invisiable!");; p/ w5 I$ q/ S. q/ ]3 P) u. W" _, k/ G
}
% T- F; D- { R! X, H6 n7 d' j- Y node.parentNode.removeChild(node);
5 K; Q: f) T% O. H* G9 k& F
, ^" J; O, i2 r/ f }) ~: B1 u- k- b
else
6 C" D" `( x' B0 ~ g0 {4 e8 `5 o {
: w9 I" f1 v! ^, O* ]% w if(node.parentNode) " ~3 x% Z9 ^5 y# Z9 ~
{; q, G8 J$ O- a2 Q2 ^
var orgNode=node;' n1 S% n# B$ h8 j5 @
var orgColor=this.getobjstyle(orgNode,"color") k" a. C( K Z" v& f" V$ Q
var orgRGB=getRGB(orgColor);
+ G% @$ J7 z2 |4 v2 n+ W$ r : m* C( @; s" a! ` w
var parentNode=node.parentNode [7 w9 A4 s/ d# P9 ~2 Q+ o
var parentBgColor=this.getobjstyle(parentNode,"background-color");
8 ]/ K) V( m5 U3 Y5 [; u
* M, t: Q9 n5 T8 r var isLast=false;
4 Z3 N) K! E" i) A3 O
; i5 W5 v; `! S9 I" W' C while(parentBgColor == "transparent")
. [( }* R( i3 R! @8 u {
4 r2 J. h) O, W4 ~/ T$ A
0 o! S% }; t! C( h- w# Z) t S, w * b ~- z, b4 G" v# E
if(parentNode.parentNode == null)
. W! \3 n+ W! Y8 V# N+ u5 E* Q- {( t {
U# g: x7 h( V" | isLast=true;
+ q4 F' R4 k# _. @" ? break;
3 w2 {1 A9 b2 U/ Y4 G }
* r: k7 A5 h# q8 k( V! I parentNode=parentNode.parentNode;$ {' e; j8 h: U
parentBgColor=this.getobjstyle(parentNode,"background-color");
# s, r, s" q/ ]
7 ~. `/ \6 J" }- r2 c8 j* Q if(parentBgColor != "transparent")
: O8 n# u8 D" R4 S. _ {
" C6 K/ }# I8 f6 X break;* P8 [% }+ k- u' g4 O/ d/ x
}
8 J6 h+ [' t. u1 X- j" C* a }) ]: k- X m( A0 g( b) ]* F% I+ ^
if(isLast) 8 w9 K; r# W/ {. q* t/ S
{* j5 @. Q1 f- ]0 z
if(debug)3 Q4 S& `& L$ G' c# B( c
{
! e# Z& N* v. C( `7 I8 `8 u' O0 ~ alert("last!!");
3 v& \- S3 X! G+ Q. _5 B }, ` F; b5 O& y; T7 E) @$ D/ d
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
/ m* @$ _( B2 h {8 f) ~4 e: V) t( d: n
orgNode.parentNode.removeChild(orgNode);
* N; i0 n& @% }. M" X, J }6 [5 a: E# Y* Q" l$ X9 I' |
}4 p' `2 z" I' \) ?4 [/ n2 Y
else
8 x7 w: q4 F" t" z1 M0 G# T. V& S {
0 s2 e$ H) [/ {3 q% x0 F: } if(debug)9 l7 {9 r( Y' n/ }6 F4 N8 K
{1 x+ Q9 R/ b9 ]" S/ D0 n: N, x
alert("compare color and parent bgcolor!");( `: n4 Z! v0 c6 h6 j7 ^; \0 p' n
}
' ^: ~) k, a$ J6 m parentBgRGB=getRGB(parentBgColor);% {3 [* B R* M% g( W1 {, i
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
$ i! B9 B1 j7 [ {9 C2 E, X' ` ]
orgNode.parentNode.removeChild(orgNode);
: o' s( y* H: t3 A }
: h2 {: z+ k- J/ @ }2 Y! w7 L$ P8 g
}
, k( F9 l, I7 E7 T! N8 w' Y" U0 V6 L5 W @ }3 \; Q# i0 U% h9 h Z
}
% h5 a4 v/ O+ T+ g' g9 k }6 o/ w: v9 P5 a0 P- u
h6 D4 J) [1 s, M1 b$ q
0 V2 V% C% ^4 g2 K1 T8 y* P var itemFrames = page.getElementsByTagName("frame");
7 b2 G9 |1 T: \8 T; t var itemiFrames = page.getElementsByTagName("iframe");* x' H: L9 E# c. ?( X1 P3 F
# w, m; e: _! C7 ^, {/ ] var frame, iframe;
4 q3 O, }& W6 F; T F9 p if (itemFrames.length > 0)
- _0 O! P7 @8 A! s1 c {7 }3 M& E1 K4 Q' ~1 O
for (var i = 0 ; i< itemFrames.length ; i++) ' G6 {: ^+ X, r: z2 {, y0 d, [9 W/ N: ?
{4 Y' C1 _, @2 Y9 T
frame = itemFrames.contentDocument;' S1 n9 {+ V6 R$ u& j4 r
this.RemoveHide(frame,objname); 4 H1 \6 N: f6 K9 a- Y
}6 W* N T0 T' @: ~/ \- t
}+ w# Y0 S0 c V5 L3 ^- u) k8 w
if (itemiFrames.length > 0)# G3 l3 ]2 t% D) o! o$ P
{/ q' Q% [# w% K7 }+ g- w
for (var i = 0 ; i < itemiFrames.length ; i++)
1 r( ~* s* [: C; Q2 k1 ]" r1 r {
2 X& ?+ ?- t5 Z9 M7 u0 H+ Z0 f iframe = itemiFrames.contentDocument;; w! ]6 d' L, j; `0 F% N2 T& x
this.RemoveHide(iframe,objname); O( y* Z) j0 Y5 U7 ?# M9 |
}( G2 ^. z) p5 n5 g& f' m/ ?9 k
}- C6 i0 N, [4 E* `- N' }! w6 a
}& A, ]; {- F6 J* l2 V) T% I
catch(e)
8 ?& V7 @. j0 ^! s( K4 ?7 P {
! q1 R* Y- H/ D: m9 v o- o3 G) N if(debug)
' Z- ~# z5 B4 [+ l8 W* ~$ U/ y: p" E0 f {2 E, w: A! D& |, r! |
alert(e.message);$ e- O. Z6 C- Q* B: ]7 V9 h
}3 @# i( z7 ?1 i: m6 s! t
}- H' C9 s7 Y& J
}7 P+ b5 F' w" }7 p. P! }
" Z2 e* O( N0 ^0 l1 Y& [
}
. v' i' j: G- L% f- f+ Z
8 ]) V% w) h" D& tfunction getRGB(colorString)
- q# }! g& z9 A{7 a( K& j$ s7 I) h: U
var RGB = new Array;
- N r* x/ O% R9 [ R% v4 k4 S, r8 l var tempSting=colorString.substring(4,colorString.length-1);
7 k: k( q1 C. ]8 X9 y1 |& j var tempArray=tempSting.split(",");
( l0 G f+ A% i6 x1 D% ?6 m; j5 G
RGB[0]=parseInt(tempArray[0]);) U) s1 W4 C# @7 |, d. V% q
RGB[1]=parseInt(tempArray[1]);
( \0 o: G0 P4 O, }/ |6 Y! y RGB[2]=parseInt(tempArray[2]);1 l; ]9 V6 E& u: a
5 Y% t; y$ v' |0 X0 e return RGB;
9 G: Z1 U% ]: r" {2 s}5 {+ @+ g9 [! N7 L) A
function keys(evt)
* V: z+ i4 ~$ s! X, g" Q0 ^( x { % \7 o; O4 R2 n' I2 O1 l$ ~- |
if(evt.ctrlKey && evt.keyCode=="81")
$ W0 P5 u; \$ r) A* ] { + B! Y7 h& U& v7 L* a, L+ i
CleanHideObj.on(0,1);
; K1 s% d) P g+ q/ J( A alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); & p8 p2 a2 s& H$ a! Z7 W
' v" b C5 S5 S }
* v$ A6 z/ p: t# S9 A }
2 s9 _! v# f; t: ~document.addEventListener('keydown', keys, false); & b5 ~+ [: |+ `, c6 ]# B: E! @: N
GM_registerMenuCommand ('Clean Hide',7 F0 U! f4 g+ z& L
function(e){" I0 e. w3 M% D
CleanHideObj.on(0,1) _. X- P. E" C7 B. |) C3 I
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
8 x$ C0 g5 J0 y5 m S; ]});$ b) h2 \) ~! [$ c7 D5 o% K& z
|
评分
-
查看全部评分
|