|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 4 P% Z4 Z9 E* p! Z8 C( w
5 H7 y& _# }9 |* \6 y火狐插件,用猴子$ ?6 ^3 u" D" q& ?9 T2 B# `: F
7 k' t; s# r4 }6 j8 A- h- k7 N5 T4 D7 dvar debug=false;
, K$ S7 P# Y' k6 O f" Pvar CleanHideObj=new CleanHideClass();' e$ p& i6 ?' z# ^: t) i
* M: ?# Q5 B E" M$ V! U* j* y
function CleanHideClass() ( |) ]' q6 ?' U7 h! P
{
7 b6 r' p/ f9 }1 L $ z/ W5 {; y/ ~7 v8 h2 R" q
this.on=function(id,bMZ)
! a6 d5 ~, x- u+ N- z {, S$ S# G8 ~) {' b# w
6 q( I5 ?7 R: {, A8 o" ~8 M8 Y
if(id == 0); c, @9 D2 n- w( G( N
{/ n/ |3 l* x% c8 t q8 q
var page=/* document.getElementById("content").contentDocument */document;
2 s& F" | ~6 R7 k9 x1 B this.RemoveHide(page,"span");
3 K" s; D6 ?5 v& V" r$ q2 O this.RemoveHide(page,"font");
! n0 I, _# w, E this.RemoveHide(page,"div");4 y# g- p3 H! B; o
this.RemoveHide(page,"p");. R9 n8 z; T9 z- x8 u
, u) I I" C$ K }: W7 r T- @/ ~: k
& b- d1 \7 |, K
}# A" B8 a2 c% T# f
this.getobjstyle=function(node,prop)
& n( g" i# ]' h' A1 G {; I6 R& n8 }+ |9 r9 q# @* f6 B, c
try
- c& P. A! p4 t# u9 m% P {
# N# p& I, e. r: b- } return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);' U. v# M D9 Y) j
}
/ b/ J- z& W4 A9 z catch(e)+ t; C; z3 g/ }) ~8 P/ D
{
) M3 r# A7 Y- }' ]3 L& p# l if(debug)/ N1 C: O: _# F
{9 I( Z" B& h" |$ N
alert(e.message);. V! H( o2 l7 S, Q: a" t* o+ _
}5 V5 E: w0 h# V& N1 ]! i
4 n3 s, @( X2 _7 R* m& s$ r9 S- o: K
return "200";
/ v! ?! ~7 | P, e# Z4 O, w }
' k8 P( G* Z- K1 @- N }' B% Z0 U5 @4 f
8 }$ Z L9 a. h" c
this.RemoveHide=function(page,objname). u; p4 w3 i* ]6 }6 f
{, h, N& s' Y7 p4 J) z4 ~% j* y$ u
try
, n: R1 S2 |$ {6 E; C {
. u' r% H; @3 |4 W! T( r8 ` var minValue=15;4 j N2 K w7 ?8 b, m) |
var objs=page.getElementsByTagName(objname);
% K- r/ f8 X! r8 g" ~
, ` ]1 |! u1 i5 F if(objs.length == 0)
2 @- d5 L/ M: B1 y, C- n {; v: V+ r8 Q9 f' O; N
if(debug)( g* T% m, M4 P( u) O# T
{
- D- n& `( M4 x alert("no object found!:"+objname);' e/ [' B! o- X
}& U- y8 c/ @" [3 ^* j
}- q' t& ~6 [% G2 s! e r
else
0 c c% ?9 K: c$ N6 G {
% Q; {( r9 [" d, W* V( X2 |
5 S& k& u+ c- u for(var i=objs.length-1;i>=0;i--)
- @( [; }& Z% x5 x {2 D; B X0 ]2 V; f7 W
var node=objs.item(i); $ ^2 x n( |# o% z. w9 b( C
9 O: ]! s1 e2 H3 ]' k( x
, r3 ?- _1 L# s& P, r- H if(this.getobjstyle(node,"display") == "none" ||" {) }3 z& z, J, f& m
this.getobjstyle(node,"visibility") =="hidden" ||
7 F8 F# M# k( T" B" S3 G& z- D parseInt(this.getobjstyle(node,"font-size")) == 0)
' O+ v5 M/ d" `, D. B% l3 J+ `8 Y {. e3 K% ^8 |' V1 C' P
if(debug). Y- P1 x. Y8 }4 j# ?( q
{
B% z9 p5 f& V( p; b% Q6 i alert("remove invisiable!");: n3 e# a0 I6 ?' X; J) [
}4 s' X, H3 @, Y
node.parentNode.removeChild(node);
" w7 s" G) M" ~* L7 B
) d9 D# ?2 |* n/ o, e( Y- K g7 _, {2 b }" L: T% \2 e9 ^5 {2 q0 `+ ]
else
9 j- @- T, a( X {
$ W( {/ s3 e9 q8 @ if(node.parentNode)
- m; B9 a: ]- ~+ ~0 Q$ a- h {: H2 }7 H) e; @0 `5 t6 H" }
var orgNode=node;8 j5 K8 H# p( n9 Q, S, d+ K" Z
var orgColor=this.getobjstyle(orgNode,"color")7 M1 R1 e% n$ \0 ~2 Y+ R+ t0 k
var orgRGB=getRGB(orgColor); 8 h7 g8 q- S0 O/ _7 @6 b
`4 u) n& ^5 ~9 Y/ H8 R var parentNode=node.parentNode3 f9 Z1 G |# c: A2 b# J T
var parentBgColor=this.getobjstyle(parentNode,"background-color");
7 x; _, `2 I, e0 l, e# U
/ U9 K7 W! k j& g var isLast=false;
8 c, ~2 L: ` ]7 w8 T7 y) {! D 8 V9 C; v; z' `; V# _2 O; q
while(parentBgColor == "transparent")
1 q* E) ^+ J3 G+ z7 A" d4 w, Z {) i" b0 x$ Y" |, a
; f" F3 z. [' X% o. b + [" r9 L$ Y& k$ B: R+ G
if(parentNode.parentNode == null)( k" C: H: }/ i9 X2 o0 N
{
U- x' G6 X+ T4 \5 J0 r- C9 X isLast=true;
# o V* @0 X! K! I; ] break;3 x* }& J% k- g i! \6 y
}1 R% L) t; v( r! h1 y3 Y
parentNode=parentNode.parentNode;
5 w/ N( [% F9 A* U( ? parentBgColor=this.getobjstyle(parentNode,"background-color");
3 o! F% Q5 V3 ^! e+ y
- E) R T4 ?( B1 y if(parentBgColor != "transparent") 1 I3 c1 }, M ]& e, l& @- U3 i
{$ z) y0 ^& J1 Z. w( z4 g, v8 l
break;
|" j/ C8 e. q7 M7 w }, o; y z# d" J/ [) k( Z6 R
}. C- G! [2 j# T# N- M, J
if(isLast) 6 s9 U+ ^" M. U, U
{
/ {" G( `( R7 ]" v" U if(debug)
! o' Y' q1 g6 D2 o: M {
4 a4 K k6 u6 k g) [: [; e. K alert("last!!");0 T) q# {% f/ i
}/ e4 [5 d6 _) \% d7 v
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))8 {# o. ?: x! X8 |* x
{
+ ~5 L1 G i E& ~ orgNode.parentNode.removeChild(orgNode); 5 j+ F# o7 `' Y8 W* b+ p' \
}1 g4 |. `( C% F# Q0 G' f# k
}
3 X$ Z: z6 k4 q; g! s. ?% f else
# h4 U3 `* X3 c7 d1 a* {: \3 P {
2 X! W! @; j {% q, O' { if(debug)
4 k" J8 t5 P# t9 g8 T6 b {
}9 }; C3 ^ j5 Z; X alert("compare color and parent bgcolor!");
4 o1 |( X) G4 m" m9 R; W1 W }( l! t8 T+ e2 _5 C+ ?' C
parentBgRGB=getRGB(parentBgColor);
5 M! L. V2 i/ H0 q if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
6 y$ i' M: P0 m# ]$ I" x% k {
1 q+ Y3 m, ^- r0 M; g5 _, @2 c) } orgNode.parentNode.removeChild(orgNode);
$ D l0 T+ s; g1 F; |. l }
9 ^- U! S9 x6 Z3 E# L }
1 G) l3 }# y9 u; g% A; ^ }
{) z( N. f _5 U9 A- } }
0 h3 v+ D; t2 h. d4 K3 v- |' \ }
# [7 A: n' V! ?3 p }
% i0 G* p V, {9 p$ }' V* @ ' M; X' n! e( d! V: l4 m
0 J: C7 ?6 W' S/ P var itemFrames = page.getElementsByTagName("frame");/ F' g5 w( V) \* Q: |/ p; n' _2 \' g
var itemiFrames = page.getElementsByTagName("iframe");" A$ V3 d8 Y8 e3 o' O0 ^- s! o
3 _* N2 x0 D$ y3 F- P var frame, iframe;7 G4 V0 @3 |. s6 }4 P
if (itemFrames.length > 0)
+ u9 {& f6 y4 M& S6 L {, s5 E5 y0 o2 j9 ?
for (var i = 0 ; i< itemFrames.length ; i++)
V. }% X0 a) K; B$ F {
8 ]- n* c, e8 [& n frame = itemFrames.contentDocument;
! c, h& ^$ X- N8 z this.RemoveHide(frame,objname);
) y$ K, s k' N3 `! J" e }
% C+ o- A9 L* u& ^, d9 G0 E5 K: X }
4 r5 n$ Z% |* L, g( M( V if (itemiFrames.length > 0)
8 O4 Y9 h' ~( V6 b4 G {) ~4 V% k! v1 v [1 n; f: _) y
for (var i = 0 ; i < itemiFrames.length ; i++) + M4 f0 l" J% T Y3 w
{
/ U9 |% h/ H! d6 n iframe = itemiFrames.contentDocument;9 {* F. ^/ K! W8 F
this.RemoveHide(iframe,objname);
7 K+ S- g& y# i+ i# @, U }* I+ z* h P" a4 N+ s! g4 l
}
0 g3 a+ R( |1 s* D! P1 }* j }
4 N9 X/ r3 n' h0 ?9 ~- p% A( x catch(e)
" f* N8 O* L9 R7 u0 P {, L- G' u# d+ ^: h B
if(debug)
" r- G4 Y- Y# m8 p6 q {: N4 D) `8 j0 {- B* v. n
alert(e.message);
8 h. ], `4 c/ N- D7 n; v, Y d }
" `! H% _4 Q. y' F }
, N1 |0 ^0 {, T' I }
, e9 T: }* f) q5 L$ ^% f
0 z4 b7 W/ }% a+ x/ W. t0 |}3 }# }+ c5 K# L( k7 @
5 Y$ r; h3 }) w" I( g0 C. V. Yfunction getRGB(colorString), W0 c( _# M/ l/ f
{% W: t8 m9 Q& C5 g' R' V9 X
var RGB = new Array;
1 u% g7 Q% e3 @3 _ var tempSting=colorString.substring(4,colorString.length-1);
& Z6 I( f7 `2 @0 S) ~2 G3 a$ L var tempArray=tempSting.split(",");# Y8 _0 I2 ?/ K, M0 f k. M% G# B
- U: b: }8 r6 a RGB[0]=parseInt(tempArray[0]);
5 U5 i+ Q/ i1 ? RGB[1]=parseInt(tempArray[1]);
+ o. @' _4 ?# v RGB[2]=parseInt(tempArray[2]);
2 I" n! X; j R5 @% ]- W2 u$ i
. ]: x% K6 z2 L. P+ ] return RGB;
9 w0 A- d' `9 I}
0 i; w5 i* J2 _& hfunction keys(evt) ( {7 u& D, J* |2 a+ @2 B- k
{
% r' s( d4 |1 C! [4 ` if(evt.ctrlKey && evt.keyCode=="81") % b( n! g: e. u. {7 b4 Y) ?
{ 0 r6 A6 |- ]* h3 L$ R) _& T
CleanHideObj.on(0,1);8 ?7 b+ r9 t, i, @, k) u4 g1 }) |
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); & ~( k! Z: \+ s* j4 [9 Y! r
( s6 T1 d" O6 {
}
/ T. k5 z/ A$ t2 A. T( t } * V& ?$ [, Q* J3 \* l
document.addEventListener('keydown', keys, false);
" X6 ]3 [4 F7 |5 r% q1 cGM_registerMenuCommand ('Clean Hide',' M' g6 U) h/ \6 a: S: A
function(e){
+ a, A% l8 s. o& Q# rCleanHideObj.on(0,1)
* p: M# t( }3 q: m8 d/ p0 Palert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
7 i, g' ~$ e) F* b});- R9 V; r: J4 K$ D" B6 b8 V$ u9 O
|
评分
-
查看全部评分
|