|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
& M/ u. q2 m: A- Y2 G; E2 d/ N" K# r( H8 P) V0 r0 V# b; F( j
火狐插件,用猴子
" q& _/ |- g3 [7 `* z/ l: H8 |/ x# x; ?) @) a# c$ i+ N. U( Z
var debug=false; 5 ?$ V$ F) [: t6 }. P/ y7 X! Y5 C1 O
var CleanHideObj=new CleanHideClass();9 Q7 H& y. l$ c; a o1 t5 L9 `% b- c
! B1 B0 V x+ Q/ f# ~% F( \
function CleanHideClass()
# Q# M7 q2 s8 s" t7 z. B{ $ [( O2 \9 j$ X; M0 t
) w; q2 S# R* p! r
this.on=function(id,bMZ)
% W @( |0 n0 F% E9 ^( Z4 g {
R& Y3 q; m& d1 H" @0 ~ ( L! q# F. P; |! _2 K
if(id == 0)7 c/ o2 ~2 @& i5 ~. o y" _
{
) b/ J8 u7 q. Y$ [+ i' e( { var page=/* document.getElementById("content").contentDocument */document;
% k5 j& ]0 [* [; j( ~+ } this.RemoveHide(page,"span");% M$ W' ]6 M7 z# c# w9 w* _
this.RemoveHide(page,"font");( t# X9 r# B* s f+ e4 c* ?3 T
this.RemoveHide(page,"div");$ v1 _$ _ v" j# |+ |8 F3 k( p* ^
this.RemoveHide(page,"p");
5 S$ ^( {. A$ O" `/ @3 ]6 u7 g ! @1 _7 A4 L( J4 q- G2 r( z# o
}
8 {7 B8 |& A: E# Q, B* ?# u/ h9 e
$ z7 \) [& }% q# I- i }
' c3 S& `1 {$ O4 ?" I this.getobjstyle=function(node,prop)9 o, h3 X, }! ]
{3 u5 U4 S2 p# P8 Q" _8 ~
try8 _: y: r3 v2 \: N5 b* E% U
{3 Q& S1 h1 G- q) T! n( @
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);, Y* ]" g: ]0 _
}
, X' [- O) t, t3 W catch(e)% ?6 L9 b; z# U9 G
{8 N( w" ^2 s% Q
if(debug)3 `: K/ O* _4 X% [# |& c- U
{6 i3 ]! l q p' s& V
alert(e.message);
! ?7 @+ x$ _9 T# _; ?7 Z }
5 {) I( C6 B8 b6 P& Z" | 3 O5 z' b3 H, B7 c, _6 I
return "200";- F, E/ P& M3 o$ ?1 u( N
}" c4 ?; i' [9 V6 V
}
9 v! T y1 l2 z
" l3 ~8 u2 `- g6 l this.RemoveHide=function(page,objname)' W- u& A! C1 a! a! `( d1 d$ J
{
) Q' \2 d1 B' J7 O; o6 a3 J) \ try: [' N" L& `% P+ `; q Q, Q
{
9 n* s- v6 H3 h1 c( i6 h7 z/ D var minValue=15; D6 m4 t6 H# G' s2 T/ W# y
var objs=page.getElementsByTagName(objname);
# ]6 T$ V; P7 _7 u8 e/ x
; G2 ^( t- x" j( ] if(objs.length == 0)
5 L; {& U$ N6 L {
! \' W* v% ~$ r, @$ I$ @ if(debug)
: o, C. \2 y6 G8 s# V9 e, ]6 p {+ b5 E" ^& \; P5 {5 {; y
alert("no object found!:"+objname);* N3 s7 S# l8 W3 z7 e
}
# I, s9 ?& Z* a2 x0 m }
+ Z3 B- a9 @5 q7 L! T else1 {; c# o$ N2 W: p8 Z% L
{
" v7 X# ~5 m* x# E) [: S: ~
r. A+ t1 I, T) F( s, @ for(var i=objs.length-1;i>=0;i--)
. W$ g/ E8 D' H+ O {
, T }/ ^1 u2 ^+ W% V$ c6 c% [ var node=objs.item(i);
: w$ c9 b! x6 s1 ^/ X0 B) b + S3 ~9 ?% D8 T1 I/ z
* W1 ]( B$ F* I1 H$ ]1 t if(this.getobjstyle(node,"display") == "none" ||
6 m* Z4 t! v U# ]' k; \ this.getobjstyle(node,"visibility") =="hidden" ||
" [8 Q9 G0 L% C* W parseInt(this.getobjstyle(node,"font-size")) == 0)
. J1 {0 d) ^- _- c5 {5 r: T/ X {
/ C" t- s4 P# V# A% \ if(debug)
: l) J/ A0 R! ?3 B E. ~, W {
+ ^( s; b- e# O% @8 l5 o alert("remove invisiable!");
9 {% O" {( U& H. e. i }9 E: X% K' L% k f# q' G2 w
node.parentNode.removeChild(node);
& i/ _" Q- W! {% _5 c- m" ^
7 j: j7 B& P% n0 C7 f0 p& T }; e8 |: A9 p( ~; d, z% C
else
. G1 g. B6 v, F/ U1 @ {
, V5 y, t) T! m& H if(node.parentNode)
# u% Z, |; y: y4 T2 z {3 v' d1 O& ]* x" ^* f
var orgNode=node;( v8 e1 a4 @/ L) | O5 |9 s" T. `, }
var orgColor=this.getobjstyle(orgNode,"color")
: K8 N: \( J2 C# w var orgRGB=getRGB(orgColor); / U+ l+ A6 c( P, k$ u
; _- O, \# x7 X4 ~6 f var parentNode=node.parentNode
; H) K Y* M& q; e$ `7 J var parentBgColor=this.getobjstyle(parentNode,"background-color");% {3 P2 Y y$ ^ N1 p" M
) D; Q+ ~ ]7 T var isLast=false;# k( [/ L; F" p6 I
( K7 J" Y* o0 M$ d+ i
while(parentBgColor == "transparent") : j0 N5 E. g5 R0 W8 a5 l
{
5 K$ p, a% }+ q3 ?& A4 J : l% \0 g; o, O
8 Y' R; y2 g, o( ~' g# Y if(parentNode.parentNode == null)" {, N' k: \& a) T$ Z2 P! k
{
% {$ G5 o1 y! X" t9 g! ?+ E1 V0 w1 M isLast=true;5 ?6 u1 U3 _4 p a' w2 A E
break;# w! @! I6 U2 u" Q3 R- x( U9 [) Z
}
8 I- j# h! u* a parentNode=parentNode.parentNode;
7 W% }: x6 F: B3 O parentBgColor=this.getobjstyle(parentNode,"background-color");$ d ~- D$ B/ g$ U& B
9 R" O: a/ N! ]+ \ if(parentBgColor != "transparent")
4 l4 v, P. m+ z0 Z. x& r. y4 v. Y {' {1 e( u! W' b/ U! Z
break;
; V4 c' F: I* n, \9 d }
# s: z9 P8 S7 J. L1 t. j9 F }
4 g0 u8 ~* Y- b" M& |! g2 F% W/ K if(isLast) % o+ l8 |0 S H) R4 y
{
" y. T, ]5 c5 |8 \" k if(debug)
. w/ q0 h& ]3 i2 w/ J$ ?/ d0 E7 B2 ~, L {
0 H4 i; v( C2 m0 g6 N: s alert("last!!");" Q5 t5 s$ m' f! S6 H+ i
}
$ Q ^4 P3 ~1 t5 Q5 ]+ B3 m if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))2 _/ j5 D4 \7 F6 K( W; ~
{4 N1 c0 y. v& A6 T: e
orgNode.parentNode.removeChild(orgNode);
" H- K" ~/ M) @: g4 l }
" {0 G% \0 c0 g+ y4 x }: o8 p1 f! `6 @" }
else
2 p$ M% j/ A7 M A {4 b" ~4 u l5 D5 @( o
if(debug)2 A3 M9 K6 R8 f7 j/ l
{8 g/ _/ J* n4 U
alert("compare color and parent bgcolor!");5 s8 C6 c3 @+ K. l0 \+ c8 j
}4 T, T* q Z7 h3 q
parentBgRGB=getRGB(parentBgColor);
/ ?. _ _1 a6 O4 n if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
) G8 @3 \& W( m" j8 U! ~6 [2 O {
5 N/ x5 Y1 G) z5 O* Z0 d4 x orgNode.parentNode.removeChild(orgNode);
+ b$ e' A2 j; ]$ ?3 _ }
2 {1 w( {3 z# a- Q' u }
. ]$ y1 u. ]1 u8 [' g }0 X0 `& f% X$ F
}' |$ R& L, ^) C
}1 A& j7 c. x- Q, L' D+ u
}
$ j& L: O' x$ ~# n2 |, c0 c
4 ]0 x" s4 M% r( n6 V# E N$ G8 j$ i
4 x% O9 c( F8 b3 h K% u var itemFrames = page.getElementsByTagName("frame");
3 l9 a( P/ {1 A3 c& n/ ]6 e5 F var itemiFrames = page.getElementsByTagName("iframe");
# y( D8 _0 V8 i& ~/ q( ?4 e : E" D* w( u: w1 p
var frame, iframe;$ Y0 O% o5 }: ?0 a8 I+ J
if (itemFrames.length > 0)& m* F% m+ G/ w
{
+ l' T% Y$ B% Y0 q3 s for (var i = 0 ; i< itemFrames.length ; i++)
2 s. O. F: _* @! e {
4 e0 g: x# Y2 ]& V frame = itemFrames.contentDocument;5 n" [8 f: ]) t. E
this.RemoveHide(frame,objname); e* K3 c: p# w' F
}2 @. ]0 O! D- P) r. e+ D* M
}# ]8 P! Z8 Y( C/ F# X/ O- ^
if (itemiFrames.length > 0)
. z4 Y2 y% n/ _% ^/ w; x' m0 i {
5 V, p" k# F+ G: ?; L9 k9 ~ for (var i = 0 ; i < itemiFrames.length ; i++)
3 O7 ?0 D1 a! t {
; a6 J) e! H: i/ x8 a" N8 H/ V' g iframe = itemiFrames.contentDocument;5 t0 B" u' x8 Z8 W2 e0 }+ Q
this.RemoveHide(iframe,objname); 0 ]+ C/ Z+ C" \: K+ k$ B& ?4 h
}$ b8 ^* A3 l) r
}' m1 z6 C B; ^% Z
}6 E* o* ~) t3 S) _
catch(e)! q% Z/ H1 v9 [
{4 Z, }3 Q0 ?. B% B
if(debug)' H+ ~+ }- A5 e+ F( t8 d [9 R1 n9 w
{" v0 g5 I) S" ^& W# A
alert(e.message);8 j+ j8 N" v- ~5 c; r5 P
}+ f2 f! A G7 L( k3 W
}
. _3 n0 V- A% h# f$ S. l W }
( b. y2 K5 G8 o/ V1 j+ ~
6 U9 A p3 Z' I7 t N, g2 U}
0 z6 e. l. \% j, M4 ? g
0 Z# s4 d& C! U7 Q! Wfunction getRGB(colorString)* Q% n6 g5 U& \4 q
{+ ], k" e2 G3 k: t+ |1 Z
var RGB = new Array;
* ^2 \" j* X0 p3 P4 r var tempSting=colorString.substring(4,colorString.length-1);
7 X8 T0 x$ H" v3 R var tempArray=tempSting.split(",");7 S" e; L& y$ m" \* r0 X! p) N
/ N2 |/ n( a) ]3 Y0 H& @" [
RGB[0]=parseInt(tempArray[0]);
5 @- x& X0 M( Y) U" r- _" v RGB[1]=parseInt(tempArray[1]);, o$ D$ h2 D. p" T- Y' d- Y
RGB[2]=parseInt(tempArray[2]);
# h9 ]% W& M* Y ' |/ n! a9 b, T, M: N+ X( |+ C2 y
return RGB;9 a) y" g4 e$ m. U" \1 r3 e
}: Q5 m. }0 {9 x5 v4 Y9 T5 q" |
function keys(evt) & f; v C& d) I5 W$ z O0 h8 X1 L
{ q; e4 ^) f1 p, s1 m
if(evt.ctrlKey && evt.keyCode=="81")
* U: E' e$ P! ]8 m# o7 M {
0 |/ M7 a: C' |& u1 O; ^ CleanHideObj.on(0,1);( x9 Y: A2 U, G1 e- `) @; b
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 2 G+ K( b& {, L2 X+ @( n
* P8 R& g4 @- V7 _2 N% ^ } : e' k, H, A* I5 d
}
0 m3 A) {) q" C/ W9 \/ Gdocument.addEventListener('keydown', keys, false);
" u3 C/ p! @! i* L+ E% H% f) |+ NGM_registerMenuCommand ('Clean Hide',
7 G) H9 p) j% B2 J. p, d! Qfunction(e){+ U) O2 K- p! n+ }! h* v& o
CleanHideObj.on(0,1)
( B! A1 R0 R. M* ?alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");- }; N# O6 }, Y( B: K- z; Q% Y- g
});
+ i* O2 F# x* k# X7 F, H |
评分
-
查看全部评分
|