|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
1 K0 M% a% S: p+ K( ~
9 Z( r' {9 m {$ T! Z" }: F; s火狐插件,用猴子5 R' w* x) L! Q: X5 t
, W$ l% M, j% v
var debug=false; ; I$ e7 q5 i1 r
var CleanHideObj=new CleanHideClass();
: H9 a$ d/ w2 J% t$ t7 u4 T1 ?) P$ S+ U9 a
function CleanHideClass() 7 i4 h- ?7 i9 d( M5 M
{ # [. @. k: F# r" i- R: J0 v: O% @
- y& D* h, M K
this.on=function(id,bMZ)
& [: m1 b( B1 J& P$ b {/ [3 r8 t3 V4 g P
; h; n* U1 I/ ]/ X5 l* V2 l; q$ \' p if(id == 0)1 @' r3 ?. G0 @7 O8 f9 [! [: y
{* m! @ A+ P8 D. D
var page=/* document.getElementById("content").contentDocument */document; ; I$ F4 i# D j$ ^. P) I
this.RemoveHide(page,"span");
# ^6 N5 H. N3 z- \ this.RemoveHide(page,"font");$ a9 D$ Y4 }+ O0 k/ e
this.RemoveHide(page,"div");7 @3 E9 A3 r2 l5 C5 O' Q7 D7 o
this.RemoveHide(page,"p");5 y0 k1 G- k- g
( P! Y! h1 R8 B0 q1 F: _
}
7 G) g2 p! H2 e: b* ~7 q1 v+ p 4 T! W' F+ } Q3 q* L- ?$ b
}% ~- f6 B. M" }4 Z2 a" G
this.getobjstyle=function(node,prop)8 v# _) o+ `/ P( \( {
{
8 s c# Q9 c% E' k0 _ try
1 U8 b9 m! }4 o1 d) J {1 Q4 G* L8 ~2 B, S0 |
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
~. ^# P3 q; b; i, |; k }
( |: b7 x& X0 a% f9 L2 y% P catch(e)
# {" G* v/ \) K5 c! c6 H; { {
~# i2 N& k0 Y if(debug)1 Y4 ~( |- B& ~7 E9 l
{% }2 \2 O9 f) e+ d+ }
alert(e.message);
1 k/ l5 d% r: r) D6 G% V }
- e" J! _8 B, J5 [; g( D% U
3 ]; ~* {; q& I8 R0 V( M ` return "200";
& h* G) t6 M V4 Y) l1 K2 L }5 N# c. t; Z2 I/ j1 S7 k
}) j! r3 `3 n1 U
* n' q& Q* X+ z) M6 g this.RemoveHide=function(page,objname); x2 i) N' T* B2 ?: H- G
{
: W- u; \9 x' J: i8 A) I) n try9 I- \/ ?9 R( b9 n
{
" S" k5 G7 _ Y, e1 C var minValue=15;
& ]2 Y5 m- x7 N# n3 r var objs=page.getElementsByTagName(objname); , l. f5 s% U l. w8 ?( T2 a
7 L& N, b. `- d- l9 u$ T8 D$ i3 P if(objs.length == 0)
1 Y$ A$ T) o1 f {( E0 I3 U4 W( ]) y% Q L/ f' r! B4 i$ D
if(debug)4 J: g2 l$ y% L2 U7 Q9 }
{$ T* L" M5 p9 s' H7 K
alert("no object found!:"+objname);5 `* M/ v+ s# g, n2 }' j
}8 t. H C& d' F% o1 Z% ^7 b
}
6 x- O/ y ^0 R/ d1 f5 D else, @/ r) X' W% s; s w( w) k' l8 r: @% s
{
6 Z& L4 J" D! u1 l2 a
( u7 k, W4 L) { for(var i=objs.length-1;i>=0;i--)
' z) H5 O! _3 m4 G, u; c6 O {
/ S% T: [- \8 b& @& \5 R: J V0 V var node=objs.item(i);
# ?- A8 j7 p7 z8 h, D% f( Z ) X3 j* J* A0 `" e0 f7 R
3 E4 }5 M/ {% P' M/ x5 j
if(this.getobjstyle(node,"display") == "none" ||
" _$ D* q8 s& k; J this.getobjstyle(node,"visibility") =="hidden" ||0 A! @5 [( _) J4 j* u9 ~1 S% @ a
parseInt(this.getobjstyle(node,"font-size")) == 0)
% S( [; p1 \. {- e# J {
; r& d3 W" X T. M; ? j' y8 t if(debug)) m( s* y/ e$ A& @$ ^: h
{# b6 ^9 Q1 l8 [1 q$ y
alert("remove invisiable!");
( C8 o1 ~0 D% P; j: V4 S% x }
+ q2 F) E( a: U node.parentNode.removeChild(node);% [: M. y# H. V( |0 `
2 @& D6 [$ d0 U4 J; T- ~ L9 C
}
* q! q/ P# w% g5 i6 R9 ?9 F& D else
9 R% @) U/ J# f& C {
' E1 S9 w+ V7 p, B1 ]% Z3 A4 f if(node.parentNode) q2 } K. D( O0 Q. ]' c/ ^+ L" u
{0 w& w8 e) w0 r+ g4 D( S; w
var orgNode=node;) ]' X6 D' r/ K) V/ |2 J) u
var orgColor=this.getobjstyle(orgNode,"color")
- t2 f# X$ y4 C# e. W0 z4 ^ var orgRGB=getRGB(orgColor);
: Z' W) k# o* s- i. I
5 T# I9 V. d- f6 E6 v var parentNode=node.parentNode- B% n# P6 j# A6 ? Z6 d7 R* W+ |
var parentBgColor=this.getobjstyle(parentNode,"background-color");! {+ f9 v/ j# e5 R
/ ~+ T0 ?* g% ^/ ]8 ` var isLast=false;
/ ~, Q6 Q% A; u- e3 j
. h, I1 y5 `8 } l6 } while(parentBgColor == "transparent") - ?& o1 `: B2 C% N q
{, H& n' g; _' b0 O% y
4 Y: b9 x" V" s9 c% v% {& s4 z& w a+ p' k. U9 P+ Z
if(parentNode.parentNode == null)
$ o( y, Y$ `7 |5 F. p( L {
- e) S: c0 h1 `5 H: l- Q isLast=true;$ g6 j. K4 N, G. |1 w: z+ L
break;
2 @6 c6 m+ W7 X6 X+ C" x }* D5 x' K# j- P, }: l
parentNode=parentNode.parentNode;
! j5 J6 V6 F% b2 ~0 f parentBgColor=this.getobjstyle(parentNode,"background-color");2 z; h6 P% a( K+ S6 g
- p3 [( p0 C- q/ _; ]' O if(parentBgColor != "transparent")
1 W& V: Q# a6 Q* F. p9 i- U- C {
/ N/ u2 Q, x/ I, P. p( I4 s break; ?+ G2 a6 H, U, E' T; P" B$ }
}' ^- z0 m& h; B. b& h
}
4 f( j, b2 q, M! B if(isLast) , y, W5 H3 y4 q3 W
{
, R1 d1 S1 I8 E/ a- G# Q% ` if(debug)
3 |2 y; g$ y2 o; I {* ]; d1 m8 n1 v3 s9 K
alert("last!!");% y9 q2 c% I: L) F! T2 L5 Q0 V r$ y
}
( L8 H0 @* U( B Y* W if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
: @1 P8 B; ]0 J# M% e; S { K* Y( f" p( ]4 e
orgNode.parentNode.removeChild(orgNode);
+ q8 _; c( M2 N& c8 j& n }8 x6 d/ j+ q2 s. O9 c
}7 n0 A/ { R7 o+ r6 a5 K3 z& E
else
- ] N j! t+ m. l4 P {
% z" l6 \( F$ e" D8 e& ]3 O if(debug)
, L% I: w- w) `3 ?5 H2 ^ {: S. L6 x; t" Y
alert("compare color and parent bgcolor!");1 V5 n3 x+ M* o1 Y( G, ?* ?$ W2 \
}" h& U( a5 X& w3 c
parentBgRGB=getRGB(parentBgColor);
8 X# F' ~6 o4 o$ L if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
' P& m+ L- r% F$ [5 f {
! ]' u$ D( U0 c% N. Q# \6 I orgNode.parentNode.removeChild(orgNode); + T5 R1 B1 q* s
}
1 y$ L" Q, [- s }
+ T5 q# Z" d- `6 V" l& j# T( v7 T) q4 Q }
+ t# p: O2 C0 O, u5 Z0 K v) o4 ~ }
& n z+ U r4 c1 j4 `# ~/ V' i }
9 K2 h" Y, D% [ O( x7 O }
2 f7 v' V5 @: C8 G
; J+ a% X. i3 Z% _- k- T! a + t3 a5 o# y. C
var itemFrames = page.getElementsByTagName("frame");
; V' z% Z/ ~9 b var itemiFrames = page.getElementsByTagName("iframe");/ g2 L0 }& H5 e7 \: Q6 i, l% ]
) D, X1 g4 \. Z8 K! x. l- Z
var frame, iframe;
+ R1 e% B5 J5 E) \ if (itemFrames.length > 0)/ q9 K4 _+ v) Q1 } [ j' U7 \
{) L0 ]6 R2 a6 |/ M3 K, j; C8 K
for (var i = 0 ; i< itemFrames.length ; i++)
8 k" }% N! `/ o% { {
K" d* H) l; _+ u frame = itemFrames.contentDocument;
2 m6 c( V# z: A: B) M this.RemoveHide(frame,objname); ' }0 d5 W/ Z( h- s/ ~+ Z
}
) Z ~, a9 Q, x6 J% L }
1 |/ V/ O3 n3 w% Z if (itemiFrames.length > 0)8 Y5 {" H2 }5 P, n U4 i
{* S) C% E2 y$ _2 x1 h
for (var i = 0 ; i < itemiFrames.length ; i++) 1 _0 [, R6 K( H- [" N# V* K& z
{+ T* A0 d: b* S
iframe = itemiFrames.contentDocument;
4 R' p5 r! V6 B this.RemoveHide(iframe,objname);
7 t# }6 ?! k7 u. p: L2 s }$ {+ R! T' F9 A
}
. i- q |4 K7 b! M- J1 { }
# s2 l/ t) O, } catch(e)
+ [" O! E- C- Z1 ?. R p {8 g6 m- B) U, l) y5 @- l( x
if(debug); ~ [% Z. Y2 {% g
{
8 Y0 u1 B O/ M: E! K alert(e.message);* l* R; `5 b9 v$ i& m H. l
}
) D* i" ?0 a, V; F @* g; q, _& ] }! `" J9 W6 K, F, Y$ b8 A3 x% C
} g8 E8 {7 u* m5 T: O0 }
* v3 y9 z: K9 Z' r}7 i; a9 n$ Y; S q& t3 n l, U4 T
$ D' y' |7 I: E0 Kfunction getRGB(colorString)& q- X) s3 c9 F9 u7 T; G
{3 M) d( B! X, T3 Z
var RGB = new Array;
# N) R1 ^% f/ Q var tempSting=colorString.substring(4,colorString.length-1); f/ O) d( u5 P5 J S
var tempArray=tempSting.split(",");. ?3 ^& a3 d* z: K2 q) f
8 L6 |4 l8 A3 E: J! C
RGB[0]=parseInt(tempArray[0]);
$ f( F1 h. x6 A RGB[1]=parseInt(tempArray[1]);
" l- Y' K: w0 a3 E ~ RGB[2]=parseInt(tempArray[2]);
: n& M: p# [0 U( W- l2 ~
. N- S* e+ k# p4 P# e4 A return RGB;
2 K6 s* k( R% @$ A. d}# }$ M: b, e7 @' Q! c
function keys(evt) ' O1 F8 w4 w d/ ]6 b' Y# t
{
6 F8 G+ \/ S1 c* s0 E if(evt.ctrlKey && evt.keyCode=="81") / m( T7 \& A- x9 y) `* Z5 y
{
0 A$ {1 D4 C+ [1 J/ E CleanHideObj.on(0,1);
5 H* K/ t" \5 \/ m: d7 Q- [3 Z2 N alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
2 b H3 }9 A4 A4 J% Z9 J : {* J) w" |6 A5 |( f) l
}
( L% Y; @/ w. T1 s8 G9 [' f }
6 ]1 V N1 G) X% @/ b) o0 a' Bdocument.addEventListener('keydown', keys, false);
% `8 g: b8 p/ k% c5 ?GM_registerMenuCommand ('Clean Hide',
6 m8 z' F/ Q% e! S: mfunction(e){
8 ]! P, p* I. d1 E4 \$ xCleanHideObj.on(0,1)
7 V" M [% T5 j) y3 }alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");5 B3 | X ]$ W! j) u2 }$ Q
});
8 r0 n8 o0 V Q" E I |
评分
-
查看全部评分
|