|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ; l6 k% p) s5 h: o
" {% b' \5 ?$ r* n# q/ {' p0 T
火狐插件,用猴子
* P" l* p) @6 ?* Q9 }7 x7 b' Z# M
) B. X3 ^7 L1 P; [7 j" |3 A7 avar debug=false;
; }; m: d8 T, X4 R4 Lvar CleanHideObj=new CleanHideClass();
3 \5 O4 k3 k$ L' E9 I3 u K2 ]2 C/ ] m. d5 e
) Y Z/ z! S1 T1 }5 i/ }+ Mfunction CleanHideClass() 8 T" [/ W4 ?1 ~3 f
{
+ y `; ^3 }) q% P& }+ {! C
, N) {$ C6 b0 o this.on=function(id,bMZ)
) m4 T- G x9 c& [& g* `' n: ^ {, W; q* Z/ Q* u3 {: s8 Y9 B W
8 _2 T( Y( n3 v* w! U5 `+ T* N5 m if(id == 0)
' a0 A0 l, K- V {
; G, c. W+ G' b1 m K* O var page=/* document.getElementById("content").contentDocument */document;
$ ^; V2 a% J4 m- G) |( ]% q this.RemoveHide(page,"span");
: h9 y5 i. ^! t this.RemoveHide(page,"font"); {" m7 P4 Y/ r: a; j
this.RemoveHide(page,"div");
( Z( M# | c4 B" A% O C, I this.RemoveHide(page,"p");
7 K9 Z- M2 |% T0 p O9 l: b
7 k! h* u. H6 e; r }" e* ]# I3 t" a! M0 }( o- c7 T
9 e+ \: @8 G/ y& B- Y
}
Q! _( `* q t/ ? this.getobjstyle=function(node,prop)4 K2 T" t _, q' U
{4 Y+ y6 X, E B9 ]( L
try6 ]3 a2 {5 _/ P( v& V. ~
{+ Q+ L/ m: }0 r5 }3 ?. W+ z4 I
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
, _5 ~, |. ]) p( H# t/ _ }6 S! P+ b: `4 P' j3 x
catch(e)6 k& G& Y2 C2 M5 g4 Q* F9 N4 d9 i
{3 J9 Y: ]9 E+ v* H7 L7 N* q1 j H
if(debug)
_) Q% O s6 E {( l- p+ ]0 Y# S1 L3 e4 w
alert(e.message);( k4 M. z* m) E# J( p3 R
}
8 T" C7 h w2 B5 A! } ! J3 K! G/ s- d1 V. G, S9 i- G4 |
return "200";' f3 A! z% P- a3 R& y# i
}
7 v5 ?3 b/ U1 o; i& g: Y }9 N& k5 D! P0 k3 k
2 s: B& Z& i4 _0 R6 S, v( u this.RemoveHide=function(page,objname)
1 ~: E; A8 U6 ~ {
$ O+ L9 x- R6 z ? try
. C5 ^0 v- t9 n/ P" }+ ~ {, {- _7 D7 r7 a$ I: p) n
var minValue=15;1 m |9 g0 L) y# X3 _
var objs=page.getElementsByTagName(objname); 3 Z2 c8 V0 t. w
4 P' u3 e7 Y0 |- \
if(objs.length == 0) . H9 J1 Q+ \- U3 ^$ S
{3 ]: u& C: r2 ~
if(debug)
% p y4 l0 F' ] h6 @ {
) D' Z$ @/ y. R& l2 n+ w7 G/ c alert("no object found!:"+objname);
6 |& t0 \% k- H5 a, K. J }- F3 y4 h U$ x- r5 T6 {& f8 f
}" {+ E4 j* y6 v3 n ^* E9 r
else5 l6 N- x' ]3 ]0 r
{
. V/ P, I' u: V5 M9 k* V0 O7 m) ^
! y0 l: J, C" n/ m; u. O for(var i=objs.length-1;i>=0;i--) ) I! `& A o- r; e( r4 F
{* J/ |8 G& C E1 [
var node=objs.item(i);
# @0 Y J7 |1 J) f - g1 d z% A2 z3 X! y. N1 z
) Q3 x/ Y" _$ U$ s/ p if(this.getobjstyle(node,"display") == "none" ||% C0 D/ w" b* Y) K8 d& i' G8 _
this.getobjstyle(node,"visibility") =="hidden" ||# Y3 Y t# l9 M6 Z, J$ u; \# A, ]
parseInt(this.getobjstyle(node,"font-size")) == 0)
- O7 v+ r% ? E% H+ x+ f0 U# c {! I+ Q) L1 J& Q
if(debug)1 G8 K' V5 k, W! M$ M7 f1 e
{
# a' f3 \" ?5 v alert("remove invisiable!"); g- I& o/ o# ]( E/ I/ |
}
# L- J8 o, L; F4 U: @/ x9 }3 u node.parentNode.removeChild(node);0 U, K% B) t5 O; o6 O- {" |5 T/ @
; A4 ~- d! v- D# Y2 Z8 j8 u. {! }
}- j1 \2 k3 {. Y- |! ^+ w" d
else * M7 b. D: \- [! y2 P& `" A" o
{
) O( X2 d( m+ V- I9 J) n) I, _ if(node.parentNode)
. m& K. I9 a7 k" R {
. H$ p/ v, |* R( J. ` var orgNode=node;
$ J5 U1 l. |8 U! H+ h* X var orgColor=this.getobjstyle(orgNode,"color")# K. E* T3 @0 ]3 Z* ^7 ?; C" F5 |
var orgRGB=getRGB(orgColor); * c4 @; H) k+ o4 E1 u c
8 E+ |! v! I& i: J var parentNode=node.parentNode) V2 v6 I2 K4 }: O5 \
var parentBgColor=this.getobjstyle(parentNode,"background-color");
/ k# M, A! o% Y# i
( o+ {. w, _- u" S& Q4 @ var isLast=false;
9 x* W9 n6 p$ F Y0 k7 ^ , z. q9 A8 Z) ^; t' k3 ]3 ]6 |$ }- y
while(parentBgColor == "transparent") D3 X8 [ R F1 S8 p8 b% x( C0 A
{9 M4 k, V/ `9 Z$ z: o; a
2 M0 J/ O/ x6 W5 i3 b
7 [4 H4 M+ k5 `2 y6 W; \- G+ m) T' p
if(parentNode.parentNode == null)
" h8 }' V! v2 O( L- ]& W: D {8 C$ Z7 }- T: e/ Q b( D3 X7 L
isLast=true;& g& g0 k/ U3 |% [! C' G
break;
! ^7 h0 [ U/ _: n9 J }. D- o# F$ f: {* c/ \
parentNode=parentNode.parentNode;4 W" G$ h& k% ^9 U/ Y
parentBgColor=this.getobjstyle(parentNode,"background-color");, g" r' l: v2 P
1 E& ]; A1 w; N! ~ if(parentBgColor != "transparent") - k8 q" @$ I, W% ?3 k
{8 f0 }% Y0 z5 A6 N* \ z* n8 @
break;, V" \1 `* L/ U1 }# R
}& N# e. C6 W1 K
}
+ j0 z0 |7 k9 g x D. ]( ~1 h if(isLast) ) ?, ^$ C l; X) s8 V/ m; t
{# r, _2 O" a9 |2 q, @9 M% b
if(debug)
" h% s3 F' H5 \+ P5 d* R {0 t. n( W; r2 @8 p; T+ U$ P
alert("last!!");" q4 z* g5 U" q. W% b* X% p7 Z. u
}9 ]) x& J7 U3 n) o! D/ v% l* D( }
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
9 l3 F+ O0 h l9 M( F {
' L+ K( o X+ I2 l" s8 U, o orgNode.parentNode.removeChild(orgNode);
9 X g" T2 N! R }' |& E; P3 v P1 x
}+ I& x" [# R8 s
else
: F- O% {( e4 | {1 v5 h! ?% z9 m. l; b
if(debug)% U( ^% ^1 }; ^
{
- s) U" L4 d/ \2 f3 C alert("compare color and parent bgcolor!");
, B- s5 k$ n( [' L4 `; D9 H }1 @7 ]! W9 C4 [$ W' ]% P
parentBgRGB=getRGB(parentBgColor);
$ ] r" x# e# W if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
1 S7 a1 [" i+ D0 X& O+ Z {
: G* _# p# D4 r0 y* H orgNode.parentNode.removeChild(orgNode); 7 v7 n: S5 i8 x" m% _( J& ~9 H
}
/ I' Z; S9 O$ m8 l3 v }
6 z, x6 `3 P) M+ @- ]6 K% H& L* u }$ j4 M5 s! g# k7 x* Y9 u! c
}
3 I d' o9 i6 S2 a4 w- ^4 a: r }
5 v7 X, {( w" {* L9 ~5 q8 n }
5 {4 o5 M& [$ i+ H) P _
$ U' ^' i3 P' z6 U t, {
4 E n8 F' [; M3 m+ D7 w1 I- N var itemFrames = page.getElementsByTagName("frame");
- k1 n( {7 A# S0 d) I8 M var itemiFrames = page.getElementsByTagName("iframe");; N) z2 P' g) _6 R" |3 ^% a7 v
, p+ X4 U5 D* u" h
var frame, iframe;
$ h; k5 d/ x. v0 D/ o% K if (itemFrames.length > 0)
6 U, J9 k6 b# A ` {* T" G& q& h' J* H4 z
for (var i = 0 ; i< itemFrames.length ; i++)
O/ h) R! y! s6 w) M6 ^ {. X3 W* W) ]8 V3 g
frame = itemFrames.contentDocument;' D% G/ A' A7 ~+ ^/ ` D
this.RemoveHide(frame,objname);
8 d! |; ]; P, v( k& n* g }7 D8 p* B! y: R6 ?4 H) R6 C
}
$ B; P9 s8 K( p3 C3 p$ |9 R if (itemiFrames.length > 0). K% B# u6 B4 w' M4 }. ~4 z, M
{/ y8 t% R v3 t) n
for (var i = 0 ; i < itemiFrames.length ; i++) % e W. _/ d7 O
{! O# L" d. b" t }( z
iframe = itemiFrames.contentDocument;
$ ~7 i( L- W' `- n$ i5 a this.RemoveHide(iframe,objname);
; v' N, Z3 I* ?/ t4 Z6 r }
4 p* ]8 t- n, j- P |/ ^) R8 _ }
. ]! f# y; c+ R. ?! P! w }
" H- B; ?( A! | catch(e)
9 i* _: U) G* a! r {
' n+ Y# J% A: m5 m2 b$ X if(debug)1 a, {2 G1 R8 Q/ T7 D5 K
{ F$ M9 t; N/ w: K5 k" l* H+ i
alert(e.message);
# R- x3 d- C2 m7 P3 _/ A. I. x1 t }
& m" f0 R* ~7 X# Q% ] }
+ o4 T G% a' R, H }
! W0 T- S: h2 z J( v. t- v. {8 X0 O) n' s) k- ]
}
/ G% \! ^% g3 f6 `$ B2 t
/ F1 L- r& g; O6 k& Ufunction getRGB(colorString)
7 C; F% @+ V5 M" J0 M' T# k P* z+ a{( G! S5 d* {% L
var RGB = new Array;
/ Y0 U1 Z# F$ M, [4 W var tempSting=colorString.substring(4,colorString.length-1);6 I }: U4 ^3 X+ W
var tempArray=tempSting.split(",");
* o5 x; I. V# h; I- Y8 B. o) L6 e9 [0 `) b7 x# Z
RGB[0]=parseInt(tempArray[0]);
4 c6 S/ ^) |2 d4 f4 g RGB[1]=parseInt(tempArray[1]);/ ^2 r" O) J" w1 |$ E$ _2 Y/ l
RGB[2]=parseInt(tempArray[2]);9 Z* L# {. d& C) V( j* t H
" H! D8 h: d1 n$ p. h& F
return RGB;3 {7 ?( d: W3 j4 {" ]. h3 l; \5 \
}
! Q% n- E% f% }+ T: U. t: Efunction keys(evt)
. { |9 A6 v# r$ }0 N: S4 J% U" ^ {
9 {% V, v/ t+ k if(evt.ctrlKey && evt.keyCode=="81") , S# C, I( v1 R* c1 N
{ ( V+ i4 ~# o% d' u, W
CleanHideObj.on(0,1);7 H. }3 `2 l+ a* [- z( q) C
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
' Y# m- r4 k. c
; K+ z S3 m: y) o( r' m }
u% h" Y9 S' j5 \ } % h/ t0 m+ F X n+ `
document.addEventListener('keydown', keys, false);
7 K8 i. D9 J3 I7 ZGM_registerMenuCommand ('Clean Hide',
& S* `- Q" |1 ]2 gfunction(e){7 y9 L& z5 t, T/ W8 o
CleanHideObj.on(0,1)
9 ~$ u) _# i1 m+ U4 W4 P$ jalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
9 M& H0 q1 h6 `4 V# c) P* T2 X});7 v6 Y ?0 ]0 ?8 s
|
评分
-
查看全部评分
|