|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 2 {2 T7 z" N4 ?8 t' k D0 }
* l0 I8 S) h4 P% p8 M
火狐插件,用猴子
. b% G! H/ z% F8 p0 z3 d) Y* J
' ~" R' }: E( W! S- C. s1 Kvar debug=false;
$ V2 J u7 R$ C+ v- p: Pvar CleanHideObj=new CleanHideClass();. ^' c& }! |$ X2 @6 N
0 Y/ p8 ]0 a) t& Vfunction CleanHideClass()
2 B; ^! P" v: P. w" t/ o{
0 {8 A: K e0 I, H; Y7 R; y ) V6 b) J6 @# c
this.on=function(id,bMZ)" p5 w: S7 X4 O' ~
{
! Y0 ?( T: E5 v, Q7 P* v) ]
0 m3 K4 D5 d: ~/ R if(id == 0)
6 x% N$ W, W4 b7 y8 d& \3 x {
3 @, S/ X+ {3 s& v# |! k# t var page=/* document.getElementById("content").contentDocument */document; 3 c. i( P4 L2 q( B
this.RemoveHide(page,"span");) K4 ]& R, b, B0 @/ A' c2 M3 E
this.RemoveHide(page,"font");' b; H: I/ f- j' v
this.RemoveHide(page,"div"); X. k! ~: w9 G( G/ K1 @/ x w5 M
this.RemoveHide(page,"p");4 s! {9 l% F" Z; `: z; ~
7 H* N, ~8 U. w* n }
, c* O5 e4 W! g( g8 u
' z8 U1 B) b# } }! J7 E) `$ }( e" V' W/ m
this.getobjstyle=function(node,prop)
* D* W7 l0 Q: }- n) ]0 x4 T {
4 k0 [- z5 i$ M6 i# o" n try1 Q0 H: y2 ~3 U( @1 }% L
{
V# H d1 L) o+ h" Z return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
- @. V8 @( w2 M( u7 ` }
2 Z$ G9 `7 e' N catch(e)% N: w. P, x! c
{6 I$ A. \8 l! |* q
if(debug)/ u9 ^: f* O6 Z
{+ F# c) _% r' R
alert(e.message);/ D' u7 T4 V) J3 ~7 N, C
}
0 h2 W4 {% m$ v0 F! f* I ' G2 T/ C' H+ n" ^3 R9 i
return "200";, f, H3 S7 u$ `9 R
}$ Q. w& M- {! q3 ~2 q2 q
}1 [/ ~) ~% O+ q7 w. O
$ V7 ?$ p+ S o4 O9 R this.RemoveHide=function(page,objname)1 k0 w' p) e: y3 C9 w& v% S
{
# C' L5 s1 W: W& e try# A* i7 c, @ U4 n- |! q1 h
{( v. L& }. V" J& p* ?& ^
var minValue=15;
! p3 v( u5 y, q+ s4 A. t var objs=page.getElementsByTagName(objname);
[1 c8 r3 b. b! L
3 b+ N6 Y; I/ C. u( K/ b: P+ P0 l if(objs.length == 0)
* Z, |4 z# k: }; g! `1 ?2 n {
" ]( I: c9 s/ ]' ?, }# { if(debug)
9 f4 y& w H% A3 ^' z {( R( `# N. t5 w: T" S
alert("no object found!:"+objname); F1 L& t; ?* g6 ~
}8 }( f* J3 ?9 |: S+ R
}$ O. s. z% v ?
else
* q% J6 p- r! J- x! [0 F9 } {
# f# K0 @3 k9 p
# Q* K. Q6 j1 y for(var i=objs.length-1;i>=0;i--) + V" f: V( q% J
{
1 @4 ~+ B- K2 z5 ?' w var node=objs.item(i);
7 ]) D. K5 w; t- a
% }1 U' ~) Y' _) Y* f5 b0 F; [ 5 P! R# m, A/ v' k/ i7 X5 x A' I
if(this.getobjstyle(node,"display") == "none" ||
( p! L' y4 N! n% Q this.getobjstyle(node,"visibility") =="hidden" ||
, t- H5 b6 C! j5 R parseInt(this.getobjstyle(node,"font-size")) == 0)
" ^& h$ V# O$ m& r" M: S) C' f {
) y8 B8 B( o( v2 c, j if(debug)
% t' k) O+ |3 B( z0 E* { {
' N; A3 S$ ~$ e W- |7 K' [. c alert("remove invisiable!");: L1 `) b' m7 Z" @/ f/ `8 @+ W
}) Q, u9 R$ i) s6 A% G
node.parentNode.removeChild(node);
4 M2 c5 c \6 _" u) j5 u
t: q+ A: Y" O: Y# `3 ^ }$ ?4 x/ O% B$ h: X$ g
else & k; Q9 r/ e5 X" x2 s5 ~. j3 q
{
! F7 ?# {' z% z1 n" a if(node.parentNode)
" z) |& f5 t( [( P1 {% A {% X/ S6 o* a; D8 Y, W7 R
var orgNode=node;
8 l; ^; v/ u* k* K, E {. N) q var orgColor=this.getobjstyle(orgNode,"color")
+ ^4 Q( Q+ v- V# @4 s1 ?% s+ a var orgRGB=getRGB(orgColor); - W- k6 V5 J7 G5 v" t
( k) A2 h, s `3 m; I var parentNode=node.parentNode
/ G8 W9 t2 }5 t7 F var parentBgColor=this.getobjstyle(parentNode,"background-color");
( J7 o6 H' }/ x& J9 ^3 X; K5 F
" K9 y0 P0 \' l# o: |9 L var isLast=false;
1 B+ V, h" m; J9 t : d T. b! u9 t
while(parentBgColor == "transparent")
5 |- B$ g- c6 V" F( N {
. k1 ]: W$ b4 E" i
+ G. \6 A6 G8 I! r7 ~& k: b, @ $ S+ {1 W; c$ l
if(parentNode.parentNode == null)5 J2 X8 h' P& J6 v8 O3 n
{
( m, x- H( D) a% y' y; S' y isLast=true;* G' p3 t) c4 C" ? u, @
break;
1 S6 B& U s+ e S( I/ ] }* U" ]# r6 f: Q1 p0 ^) e
parentNode=parentNode.parentNode;
3 p+ Z: k3 _& N3 r. R- _ parentBgColor=this.getobjstyle(parentNode,"background-color"); E6 S- m: e$ g( W6 V/ k& O
" z# b4 e6 _' l l/ g/ `
if(parentBgColor != "transparent")
5 a2 f3 B/ }: B6 E5 \2 l+ k ?$ G {
" d% A0 z: x" T/ u& |6 K+ u5 C" V" l break;
4 x7 w( f/ ^7 P$ N) j$ v9 ^& t }
* H. }1 x. a! a }: r* G3 K# r! y" H/ K# r! z! @
if(isLast) ! T+ x$ k5 t6 u) h: X' ~- t0 u( X3 ]
{/ h3 K9 \1 I" N! Y9 j* X& s1 A
if(debug)/ O8 p7 `5 T% E9 c |" [% P
{
5 I& M4 m6 v- E) s# w. T9 m( P alert("last!!");; P: q$ D" k) d6 |( I
}
1 C b7 I8 y m* f0 w% [ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))* l* ~% ~5 p, A
{* }2 s+ X- f" j1 o
orgNode.parentNode.removeChild(orgNode); 6 V4 [% P2 e9 `, h5 _
}
" N. F/ p( h0 I2 D }
) m( y0 S1 G; N/ Q, z else4 X0 K) ?6 c4 ?) U7 Q3 G
{
/ u& Y. h: c" K: d G& t' O if(debug)
' L5 n# m2 x+ e {# b+ r+ o/ |. w6 z5 r, j2 y
alert("compare color and parent bgcolor!");4 u2 o Z" [3 [: p. Q) }7 N! ^
}: i% W0 F I7 a& _+ ^
parentBgRGB=getRGB(parentBgColor);
" n2 O/ @5 p" P, w9 q. K" A5 {8 Y if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
; K7 b7 d4 O9 V0 l6 t {' X2 ^/ Q2 I @& _4 Y; h
orgNode.parentNode.removeChild(orgNode);
7 `' [; C; d4 b" K( ] }: }, a: e3 g( r1 O% p
}$ z$ m4 ^9 x! D& V3 `4 M; `. r
}
6 ?7 Q D6 |1 U6 h% J( s" J }
3 f# k! @: k# I/ ^# K; z }' V- Z* @' M' u# n0 }
}
! X0 k2 a' ~5 V L& j1 ]5 T2 ^* v0 r9 L
: t8 [! P8 h/ h4 u var itemFrames = page.getElementsByTagName("frame");
5 I% V; n' C- I/ k var itemiFrames = page.getElementsByTagName("iframe");3 F Y2 {5 Q- p
& r! ?5 p& x* C' K. a+ [' z4 Y3 o. q var frame, iframe;6 M: l) L; j- E- i0 p" m5 K3 u
if (itemFrames.length > 0)' \0 y" q9 ]/ F5 c
{
. ?3 f& g. ^1 [0 N1 C; ] for (var i = 0 ; i< itemFrames.length ; i++)
/ k% ~) u$ R. c. I, U {" F# v7 S" @9 o
frame = itemFrames.contentDocument;) c& N) @' R2 _
this.RemoveHide(frame,objname); 6 k( W! d" Z4 [) B
} |/ h+ w" f# j
}2 t, t$ Y: D8 \* l
if (itemiFrames.length > 0). t7 R7 X* J& T& _
{! f+ q: Z' ?7 ?9 j0 K) e* f7 @
for (var i = 0 ; i < itemiFrames.length ; i++)
/ W5 y; X9 |- @& v {3 Z3 e( @) e8 Y5 N: `
iframe = itemiFrames.contentDocument;, W# l: S9 W# e: z3 r X
this.RemoveHide(iframe,objname);
! j/ D. B" _% O+ Y }2 f2 ]9 \7 H3 a' p$ z: Y. r8 T! o' V
}
* V& C, Q* ?* u }/ J- Y. o4 i% R6 l# Y& c
catch(e)
% t6 ~% d; Q! P$ M9 p- ? {9 h5 x& u& t( ]
if(debug)
6 S6 b3 w; w: Z1 m( |; c; C$ ~ {
0 t7 |9 g6 v1 Z alert(e.message);7 d# X9 j7 g0 s/ Z5 O9 a
}( l" C* o& o' z( l9 W) B# m
}5 V! E$ I: t D" L7 l2 }
}
5 ?. ]& C. Z, S( h+ u1 L' Y1 u
% z" z& k: h/ L2 s2 m6 y/ o}2 \' E) \! [, A" Y
: V) I- w3 D; d
function getRGB(colorString)# }0 ]1 f& i; K; D9 Y
{
; s( t; o# s3 W1 t. n var RGB = new Array;
0 t7 m6 C* Z% b2 Z% p" E var tempSting=colorString.substring(4,colorString.length-1);' H6 q8 z3 L" ?
var tempArray=tempSting.split(",");) y& f( y# o* J) o$ h- P1 y
/ Y7 D# A) A9 j3 W4 u RGB[0]=parseInt(tempArray[0]);
" m3 W8 U( _# K0 [; p RGB[1]=parseInt(tempArray[1]);2 \. L+ q- C6 p/ d
RGB[2]=parseInt(tempArray[2]);+ Q5 e9 K. f2 O* h* m
& }+ c X: g8 D9 G; @
return RGB;3 B+ J4 Q( L% Q# a' Z, E
}% E/ R- A+ T& ^. j& E
function keys(evt) . K6 |( X P$ O. Q6 [' v
{ ' O3 c5 d( c2 v1 B3 }: L
if(evt.ctrlKey && evt.keyCode=="81") $ M1 Z- p, ~% p/ T7 w6 u/ i+ K
{
7 d* b6 w! e+ X1 M6 E; J/ ~- k CleanHideObj.on(0,1);
0 Y# H8 L. a! \ p0 _+ } alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
4 i0 `- U9 N/ D* G' g) h2 B
! n, |4 e. J, |) ?( Y) S } ! |% X8 b! h# S/ S' r/ m' u
} 5 [3 D, Y: P& w5 Z) c. G$ a& f3 `
document.addEventListener('keydown', keys, false);
8 r/ x3 s$ J+ y9 [GM_registerMenuCommand ('Clean Hide',
; I- S+ u9 V9 O& _+ \# l7 [& Cfunction(e){* Y+ w5 x9 i* z
CleanHideObj.on(0,1)
5 d T: o. d& W2 salert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");7 t; w* n" q) R! \) U0 ?: Y8 }
});
7 x/ b" B. W- a' G |
评分
-
查看全部评分
|