|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
& n. x- e) z s; _3 z
* y5 T- [) L& R- G* u; u+ i火狐插件,用猴子" \5 u: v8 @8 I2 p# W( w
, n; D3 }- G7 zvar debug=false; & U4 b8 f+ \# V0 y {, I! D
var CleanHideObj=new CleanHideClass();, a. d7 R6 C* T# M
6 H; A# d' m9 j! F/ Mfunction CleanHideClass()
1 w0 H+ T; s8 M0 _{ 8 w% x5 Z; N k
- @7 n" O g; N5 U5 H* E this.on=function(id,bMZ): @& J+ ^" F) m0 |- x$ X& W* R3 [
{
1 E+ d9 E( c' S& f: r# u, l
) y7 x6 @, E) O* `3 k. \2 m) l if(id == 0): j6 Z5 \4 P; o! n. R q: V6 m
{
. G9 I5 f( v" h) P& H var page=/* document.getElementById("content").contentDocument */document;
0 v7 c( }6 l; G/ {" W/ F' i& E this.RemoveHide(page,"span");
8 C7 m* t; y+ {+ B this.RemoveHide(page,"font");& F# W- Y7 T" L E5 h
this.RemoveHide(page,"div");0 j- Z0 W$ e1 P7 s
this.RemoveHide(page,"p");
- T) C5 x5 U. F
$ b0 J" _! s4 f9 Q }
, \0 j. ?9 U y8 n 2 ?. W/ ^% O) s* H: N( C* @; ]
}- n7 I0 F; t: y5 z# |
this.getobjstyle=function(node,prop)9 y& l( M+ c( y, L0 ~
{
$ F4 ~$ `1 J. a& N try! R* |. m7 ~8 i' s7 a
{
: h9 _4 W$ O" \: ]. B, U- P9 ^7 U0 ~ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
4 c% T7 i' [* y# i7 A5 r6 ~7 ]1 S _ }3 d; j, h- E$ c6 X. B
catch(e)
: c8 f7 t! q* l. N+ W {( Y+ X6 |1 u* E9 `- \ N8 ]
if(debug)
% D9 Y, `" l, M {
/ L( _# U \/ T# e) ]! [ P alert(e.message);
# h9 c$ Y( s1 V3 N4 S) D* h! a }
, p2 r7 u+ m8 n- q8 Y4 p& e
+ v$ P( y' t# _ return "200";
" C2 j8 g! W. p2 g! g0 [ q; O' b# x0 u }
! U" x d ]- V) T# y! P9 f& h }
6 @% e; W) q. Y
1 V! C8 w7 ~2 M+ ^8 I this.RemoveHide=function(page,objname)) U& @9 o. b" Y' N
{
+ j. z6 F2 }3 r& I3 S, p try6 h% D( O: b& d) Q/ u
{6 t" Q1 x d: `) B& w
var minValue=15;
9 @( }, E# |5 \$ S3 B var objs=page.getElementsByTagName(objname); % t2 H' P0 o7 I A2 B
7 q# K7 n1 U+ I6 u: ^- E
if(objs.length == 0) . Y( ]1 w4 Q# D% p
{
, x9 T" @4 {" U0 u if(debug)3 k, w \' F$ H4 d& U5 t( g/ c
{
4 ~1 D0 t2 f" A" Z+ }" s7 g! K. _ alert("no object found!:"+objname);
8 y% m& j1 [/ l+ S) |6 U }
- Y7 T: J2 z" Y1 @/ ~% ^: q }
( J% j( Y, K9 E else+ y% I4 J5 r: ~1 Q
{ G5 H( ]) J& Y) S. L: A
! ~8 K' M7 x) _3 U# b: V( X5 x& g for(var i=objs.length-1;i>=0;i--) - Z, p* o c7 p5 x* Z6 [* [' P
{+ y% ]* G# Y# [$ q
var node=objs.item(i); 0 u+ p6 `. A% }' c! B5 S9 B
- k8 R B4 ?& e% \6 z
6 ~: h3 o7 ~/ `2 `9 a
if(this.getobjstyle(node,"display") == "none" ||& ^) A4 @9 S: o
this.getobjstyle(node,"visibility") =="hidden" ||
: v$ w* I/ N- h- I: K parseInt(this.getobjstyle(node,"font-size")) == 0) % R/ l4 O; c' p/ m4 u, y9 N3 A
{
1 N- n P+ C5 o if(debug)* {; A2 Z! Z! {1 ]9 U/ M
{! a6 S |+ m$ h; F( c
alert("remove invisiable!");8 v2 {8 V2 |7 x9 m8 l0 G! I
}" \$ f2 `, H' N% x6 |$ a
node.parentNode.removeChild(node);5 X+ Q1 K4 x' h0 L% A7 q5 i5 d
2 [. i1 }% x$ I9 ]. @, i! D
}
6 Z( d R, ^0 Q else
+ L. A: T2 U2 M7 b. w% F: d {
5 {, X% T3 [. {" x# j; H if(node.parentNode)
7 D4 y: P7 t; n8 D& A( F @( i {
7 B% [6 x2 {, U$ @- n" q var orgNode=node;' b2 m, q, b+ r. M! u/ x
var orgColor=this.getobjstyle(orgNode,"color")
! ^" @6 l0 A. {. ~) X var orgRGB=getRGB(orgColor); 8 ?5 }' ]8 n$ H9 y
) O8 I6 [5 j3 d1 D var parentNode=node.parentNode; Y2 y" W7 u- [5 V5 |6 Q
var parentBgColor=this.getobjstyle(parentNode,"background-color");
, i( {( _: d1 X+ G% z* Z 9 r$ r: Y: ^* h' `/ Y- W z' M6 x7 @, T
var isLast=false;
/ R1 v. v- o; h9 i- A * F+ s+ k3 M) ?5 o
while(parentBgColor == "transparent") / g' `% I/ V: k; w2 Q- F
{
) B ?+ G! C! d. M1 V
" N: b/ ~) f5 D9 S" i + @: ^5 A7 g+ h7 |: X
if(parentNode.parentNode == null)
( X5 O( M$ S; ~2 |7 d, E {
- z4 Z4 V; P8 A8 u isLast=true;6 C; k8 r3 L8 ]# z
break;
$ @- R& U5 I; I5 s# g* K }
E4 z* t3 a9 R+ I parentNode=parentNode.parentNode;% ?8 e5 o5 M! |# f) M( N
parentBgColor=this.getobjstyle(parentNode,"background-color");. j, x& c' Y+ {1 h: K
. X: l. T' i# C4 `" {
if(parentBgColor != "transparent") . b- D3 C$ y. a" U2 s8 Z4 X* t; B
{
" @2 ~$ y$ c1 t$ [1 I break;
& v2 M; h: u3 q9 d }- `3 x* c% [7 u4 n& b
}
6 b8 @+ u; G2 e% Y4 \# C/ }( x if(isLast) 4 ]9 f: _, }6 ]* ?* W
{$ L; f4 z% Z2 t n% p7 ^: M0 J
if(debug)
' g1 l# Y& i7 d( z3 B' J {
2 y* P0 Q& ?' @/ O alert("last!!");, s2 t$ m0 d" A4 z$ P
}
+ ?) C1 a5 l4 i) c) b if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
. D4 w5 Q- A" ?! s: i; s- N' u {
3 H7 C! C9 c2 L orgNode.parentNode.removeChild(orgNode); ( v( b) P$ `; u7 N# J0 `8 I% d
}
" t% C$ v o( s+ `0 p }' D8 |" B7 p/ _) D$ ?; F
else1 ~3 x! C# \7 `% c# m1 |& m2 A
{
% i8 H. \" S0 a0 [# V if(debug)/ o% {- N% H1 _3 R: f' c2 ?
{ z( e" n' t0 ]' T6 u& h) o( k
alert("compare color and parent bgcolor!");5 @+ @8 j$ ~4 O; B( O
}9 E! c3 N7 d) E/ p2 n/ \: z
parentBgRGB=getRGB(parentBgColor);
- L; }6 z5 ]" T$ x4 P, B/ q if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))2 u" n8 Q0 `1 f
{- S1 x" ^: Z+ V( M# K1 @# O
orgNode.parentNode.removeChild(orgNode);
% o5 a0 H) ~4 d1 n2 c* r }
, q" N! d- |! W6 ?* J t) c }
* C3 h8 j2 o, z* E$ Y5 N5 w }
, D& ]. h+ j t$ n- l6 |. I) F+ E' [ }
9 ]4 o, y/ ]0 {; A# a3 P& [ }
1 t4 ]* v( g0 ?- ?# G: n }
b, ~2 A( y9 e: u. B
0 o( ~$ l: W- Y) o& `
" b, k' m9 t, a var itemFrames = page.getElementsByTagName("frame");/ z) i( ^7 M# n6 |8 J" J O
var itemiFrames = page.getElementsByTagName("iframe");% c) o" }7 D6 |% e
6 |( h& |- W2 W' ] ]% y var frame, iframe;
2 S8 d) r5 r% _; i6 S7 S$ X/ I if (itemFrames.length > 0)# D( ~3 |: M/ s( X6 e+ @8 y
{
1 J; z# q8 O" d' F+ u( } for (var i = 0 ; i< itemFrames.length ; i++)
* m3 n! n: U$ e" S r( T% c* | {
1 ]% k/ \0 Z5 g1 [ frame = itemFrames.contentDocument;7 z( _1 Q5 `& _- k( x. }6 L3 ?5 M
this.RemoveHide(frame,objname); - X+ B- L- V- Z* p: s7 c' s
}
6 I; ]9 N: Z; \' a/ e- e4 P2 t# x4 k }) H' w" R' [, z# Y2 I
if (itemiFrames.length > 0)8 @+ ^+ k C3 [( K5 ]
{
" h9 r' k' H/ k& {8 B for (var i = 0 ; i < itemiFrames.length ; i++)
( }/ P4 n6 W1 C {
8 a* G- E/ G _3 u5 t0 b1 J iframe = itemiFrames.contentDocument;
2 p9 {7 S2 b B* h+ ~0 m this.RemoveHide(iframe,objname);
+ v3 [' u9 \9 Z }
* @5 r2 q4 P: P* S2 t; t6 q8 M- R }1 n$ F6 B2 ]+ Z1 q i
}
5 n6 k2 h, D$ \$ |( N3 X catch(e)
4 w% o1 s$ Z z3 O5 r' I {
; T( t( B9 j5 o# {& \* x: i8 l if(debug)( z. N# v6 Q g
{* \' h) ^3 u" k
alert(e.message);
. [0 J, s6 P3 {% X }
2 j+ h$ c( p( m5 @8 I }
" u2 e+ L+ G! Q* y! b$ T }
, U& J- }! V, A! I* F P6 ?- P: H$ h
' P3 f# ^/ x' g7 c, t! d' c( d}/ ^; f' ]. d* S7 l" o* w# c# c' c9 f% ?
( V$ T8 H) g' T6 ~. j
function getRGB(colorString)
4 ^: M0 W0 ?& @5 E6 J O. Q{ B; F% F. e8 r: C
var RGB = new Array;2 p4 t$ c7 o$ T% M) [
var tempSting=colorString.substring(4,colorString.length-1);
+ Q7 m6 v# J1 O ? var tempArray=tempSting.split(",");
' s. ?& [- n! E
1 W/ G5 I+ e% W1 h RGB[0]=parseInt(tempArray[0]);
' V: V/ F ~3 |- [6 r RGB[1]=parseInt(tempArray[1]);
8 Q- c; z: G$ ^3 Y0 c) g! f RGB[2]=parseInt(tempArray[2]);1 P: j; t0 c; W6 y) d
: C& U: C/ z0 N' |4 W z# g5 w return RGB;+ H4 t& q$ t- P' u- Q
}
' `+ J c }) m5 sfunction keys(evt) . z# u, l1 E1 }. i- H- U+ u
{ 7 w. B, N* t# a6 S- ?
if(evt.ctrlKey && evt.keyCode=="81") $ S( N8 ^0 D7 q& U
{
( v1 J7 G* r( G3 D6 d CleanHideObj.on(0,1);
. R, h+ v A, @4 j% E+ d! q, C alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
( L5 p3 Y' F ?( U) l, l
& l# F& d: ?4 x1 ^; j, T I! R" A }
8 J+ u; B: Z8 B0 v, s }
) Y2 e* \! m9 \$ Q9 Pdocument.addEventListener('keydown', keys, false);
- E; M9 o: \) O6 e5 MGM_registerMenuCommand ('Clean Hide',
8 ]2 x* ~& P( p0 P; Mfunction(e){
2 L/ D4 A, }% GCleanHideObj.on(0,1)
% T$ ^5 M( @6 A @alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");* I( l" d9 t p0 z
});' l" [, w+ |$ [# r1 F. d
|
评分
-
查看全部评分
|