|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
$ W" j2 r7 E+ W3 c# L5 r# {6 e
; Z" l& |, m* d" ?+ @+ r火狐插件,用猴子' ^2 v! f5 _ z" C) N2 \* ?
( m4 v9 y8 e& F* _5 L5 ?5 N" U6 fvar debug=false; 8 s- _$ J' ?9 [9 `
var CleanHideObj=new CleanHideClass();- M% `" a, z8 I0 r3 U- U; `
5 y; z, a4 B! f+ v6 E! _. Qfunction CleanHideClass() $ h! ?6 N1 J! H2 L
{ ) E% J% z3 Z/ v8 I, R
6 N, _9 f% Y; ~1 r
this.on=function(id,bMZ) H- S, O, e& ]; @5 n
{
! ~( u4 {0 l6 \4 {( u$ U9 @
. A8 @% W8 ?4 R4 C: Z8 K if(id == 0)
3 q$ h B# i1 n# i, ` O2 m! v* [ {8 x' K4 s, G. u
var page=/* document.getElementById("content").contentDocument */document;
0 a b6 x; H4 r6 T0 Z0 b) ?8 h this.RemoveHide(page,"span");
% T: C$ w5 c: m$ ^. F( a this.RemoveHide(page,"font");! u* Q/ W. i y# e5 c3 L% G
this.RemoveHide(page,"div");% a3 t7 {0 U- J$ X! j! M
this.RemoveHide(page,"p");
4 t: t% b( W- [: H3 e+ k5 z 5 `+ [' ~! [# _# M' P( t
}
4 m9 {7 r6 |4 Z& ~( J1 E
. d4 d+ o& b$ t# i: S }
L* I% {- J+ I8 @$ A( j. Y, a) W# V this.getobjstyle=function(node,prop)
5 T& T! w! \+ }5 K" [& T {
8 f! v& ]8 R6 v U3 c- D r$ i try$ q$ t0 n: \, F/ A( c5 S* b; W
{
- `9 w2 ^# B: P$ Q7 X3 U) r1 T8 U0 w return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);6 K# W: N7 B( A W& O- a2 ~/ e( y8 C
}
# j7 c+ P2 I5 x" p2 n' y catch(e)
" D, u* l/ T( u9 {9 l {
( P& q& h4 K6 U6 Q7 R ? if(debug)
! ]! a7 w* Z/ A2 ^1 H* ?$ I- X {
+ p3 U7 J- y' j5 `" O/ L: h0 V0 x. x alert(e.message);
% z' O# e% G8 j }6 J2 U+ @- a5 C$ P* e t; M/ d
( e5 w( S. `6 K return "200";- {$ ]5 [2 Y% i# P' k( o* B7 v
}# n, {6 t0 M" l) N' Q; @
}
& a8 r. d' ~- P% Y- f 8 j8 \8 G5 k6 U3 j2 c
this.RemoveHide=function(page,objname)6 \: e1 m8 Q Y* Z4 x* i0 d
{- X% O- K& b1 \, \2 `" K
try+ f S- g8 t# A; A& K2 e- J% c
{
7 w: ?* v1 U$ n; t4 z: h var minValue=15;) D/ V1 r4 {" ?
var objs=page.getElementsByTagName(objname); 0 U# h$ [( j" `7 H2 F
' R9 r" @4 p1 A# ^
if(objs.length == 0)
9 G3 v- x( M, x# v {, I' w/ b" Z3 v
if(debug)
% H) H/ X( D5 b- K {
, m& U: j0 Y6 w9 w1 M9 w& U% H9 q alert("no object found!:"+objname);4 }9 F- x% g$ F3 G7 e2 j
}. h3 e8 A( ^# G7 d R- V
}7 z( k: N9 ^; f5 j3 P4 j0 k
else
: O1 E, x: U4 i n$ v {
: d5 y6 f/ N. p ~1 t" @0 R' ` 3 y" w' e ?; s3 G8 x$ A+ R! z
for(var i=objs.length-1;i>=0;i--)
1 a, F# h9 o1 K$ E6 e& R m/ S: o {/ S5 U; m4 H+ d/ a# A% P# t
var node=objs.item(i); % k9 A6 I. m; P6 Q, h3 x! w" W i5 K
0 j1 O! v9 B$ V$ H9 c( w' K , d6 v0 P8 N% h# \) ?
if(this.getobjstyle(node,"display") == "none" ||
6 j. V: ]9 u8 y; v this.getobjstyle(node,"visibility") =="hidden" ||7 E5 }* p0 m% b8 c
parseInt(this.getobjstyle(node,"font-size")) == 0)
0 C, z* j) J1 X& h7 q {/ y( f" p2 x; d v
if(debug)
# X- u3 D% i# H5 d4 B {+ Y& P* p1 _8 c6 E6 _4 [+ O# u
alert("remove invisiable!");6 [- `; `" ^2 ]% ]' u. q
}
, c' E }) N! h1 [! U node.parentNode.removeChild(node);$ `3 l( R( Z; I- p; Q- F% x! B
4 {6 c$ D6 b& f3 f
}
- K. D& ]3 t+ y; ?& l else
6 ^/ \2 x [. I4 k {) ~! [4 P5 D# t
if(node.parentNode)
4 i8 }5 M) f& A8 [. k {/ y) F& y$ e2 r6 C- J9 N
var orgNode=node;
& x: _- [! `. ^9 U var orgColor=this.getobjstyle(orgNode,"color")0 [7 ~/ P) ]) m9 l; ~
var orgRGB=getRGB(orgColor); + h* S8 x/ j. J- ?1 s
" n8 ]) y* u5 v \7 i' s* q+ a var parentNode=node.parentNode
4 q, q3 M1 s N var parentBgColor=this.getobjstyle(parentNode,"background-color");% f1 C6 K7 R5 @4 ^
; w0 ` o) Q: w+ f/ c9 S var isLast=false;
$ N9 D- X' F& H' n& o + C! ]$ \' n0 t) f: v2 {- Z; G
while(parentBgColor == "transparent") 3 E; a4 Z1 N0 o1 y3 z {
{+ J) U9 k0 z! f5 x
& E5 k4 _ }9 a2 Y+ u2 X+ j& [) \ 0 `8 W% N0 F' h: I J+ O
if(parentNode.parentNode == null): r2 E% V7 w' s
{
6 M( b% H% ^# f" i" @ isLast=true;# S2 Q' N+ P" \3 J7 Q- M( n( A: a1 J
break;
- ^) F9 p! D5 y }
; Y. V R- @& X* X parentNode=parentNode.parentNode;& I; @4 @: D' m( O4 ^3 l; n8 m! f
parentBgColor=this.getobjstyle(parentNode,"background-color");
! W% I' `, a( T. Z' |: [; t7 R* j* W
if(parentBgColor != "transparent") 1 a6 ^0 l: z- M7 w/ s8 t
{
4 C+ d" m5 X; Z$ _' Z6 Y break;9 B7 z/ K: Y; ? w
}2 U* b5 Y' [* S7 B5 \0 l
}) @& @% T6 w6 M; ~. G |
if(isLast) 3 j: `$ Y, J, M3 G j, @
{& I% L' b7 `- s" K
if(debug): B4 `" H. j5 O' H2 h
{
- T% e/ }1 ?. X5 L o9 h8 ]% P alert("last!!");
1 ]: [ X5 M) m6 M+ _4 f# t }
9 a9 L# k$ m4 F) U4 q if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
4 X1 w4 g- J% ] {
9 R8 v( r# W6 \0 r3 H- ] orgNode.parentNode.removeChild(orgNode);
$ I, I9 d6 i3 u) i" W0 n }: Y/ h2 u( H [" k. l8 r
}
; `4 h. y' O! S else* g) p0 Z7 s2 x, p4 H6 }$ R
{/ R% {+ @9 M; F6 O. l
if(debug), v+ D4 S) X; e
{* M# t! v+ | X. y4 D$ n4 s
alert("compare color and parent bgcolor!");% K& c% _- U! W! ]
}
& p+ a& i+ r6 W: p0 t parentBgRGB=getRGB(parentBgColor);- g0 j0 x, z- Y" ~
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
7 `$ \* P% f2 m; \6 D# j* W {& K! m: S8 ]# \+ @8 r3 g0 D0 N
orgNode.parentNode.removeChild(orgNode);
$ `- B' O M; R& [7 v5 Z6 g }5 j* g1 n1 Z7 v. u, ~/ W! d4 l
}5 i0 L7 m, k! ?( q/ W9 X% Z
}
; A b& u: Z* C. D, I% \ B' } }
: ^' Z ]) T9 {& U `5 H" k }
% `! S2 t9 z0 _0 U' j }
% g* B* e0 O/ R1 v
8 v: t4 O k$ x' ^7 ^ " D4 C# k9 o6 \# G
var itemFrames = page.getElementsByTagName("frame");+ ]9 @- E# n n2 p* {" c3 N# W7 W
var itemiFrames = page.getElementsByTagName("iframe");
$ d" t& h! K* r% V9 H : o) m; Q/ a) v, F: n3 t' {
var frame, iframe;
6 c q1 B! J; O6 u% u9 s: ^ if (itemFrames.length > 0); Y% U8 m a7 s8 m' v! ?
{: c* C" _8 ? r: Z
for (var i = 0 ; i< itemFrames.length ; i++)
; w0 g8 f9 T5 |2 @3 X4 D. [5 a: m {! M; r- J! } B; W( E+ c2 {2 ^
frame = itemFrames.contentDocument;
1 Z( x6 X% o' o1 H# m this.RemoveHide(frame,objname); " q4 y" g: u4 t/ U8 Q! T" V
}
C( L3 j; h P# ]5 |* } }
2 r0 W2 L+ h$ z! {. V4 a( [0 j if (itemiFrames.length > 0)
' w( H! P- u" F* R! m* T {
* N4 y+ j" X5 h' r) K. d for (var i = 0 ; i < itemiFrames.length ; i++) 5 J2 }8 b$ P q( C3 s
{% w3 x, q/ p' H1 K
iframe = itemiFrames.contentDocument;
, I2 Q1 X; l: g" B) t: N this.RemoveHide(iframe,objname);
5 P. e* n6 l; X8 l }" J; `' O( Q1 [5 X U* F2 K4 {
}+ E* j9 o' m% G
}6 @7 w! x( `! c9 F6 D" D$ J- A
catch(e)
' `+ Y# l# l+ ]% W {0 L, ~4 Q) M. W1 l
if(debug)
4 |# W- m, l0 f {
9 j7 U# e' s% w9 C alert(e.message);' ]! C! n* j% B Y. o( p( o+ B
}
9 G! {3 E0 k# a6 m/ Q, I# m# m }/ z( C; h/ e# M0 `* V0 p! m4 V5 j
}5 ]% H) A- D9 l, }% w0 R
- ^" H1 P) m9 D. {: u4 v9 p
}6 J8 k7 J" j1 P- V; W1 b3 ~
1 J7 V* b' |7 M& ?
function getRGB(colorString)
- F/ A' X) S# ~4 o( o{2 S6 ?3 U1 U4 ^# l6 l
var RGB = new Array; L1 C8 M: F6 B* U- c; W/ }
var tempSting=colorString.substring(4,colorString.length-1);
, n% n; _" d% @* t var tempArray=tempSting.split(",");+ h2 h2 j$ l, z) Z0 f
$ C2 W B% I& E( t# ?+ M RGB[0]=parseInt(tempArray[0]);
2 a6 ^7 A/ [: j0 j3 L RGB[1]=parseInt(tempArray[1]);
9 n5 e6 o- H1 F# } RGB[2]=parseInt(tempArray[2]);. I( r! h& q8 H* `) Z
5 Z5 E+ V, t5 ]8 a9 U7 L
return RGB;; R; J. P* u) v' _3 C( |4 q
}, u: ^9 |/ J9 l' p1 \0 X
function keys(evt) : U, ^$ z% F* C2 x0 x& a- B
{ 8 W* V" P! m( O4 V2 F
if(evt.ctrlKey && evt.keyCode=="81")
, @# F% l% f: _- \& g7 J4 d {
; x: X! `, d& E, d CleanHideObj.on(0,1);' G6 X# t3 y5 i" A* e N& b
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); # s' e3 l9 K' G6 x- x, v! T
/ [. e) x$ S$ r! `
} ; a4 z! x5 G A+ C5 q- j& d# r0 o
}
0 S" O) O: z7 `5 gdocument.addEventListener('keydown', keys, false);
* d, ~; {5 R t# fGM_registerMenuCommand ('Clean Hide',
( n! L: o1 s5 T+ [2 ~3 `' m) E( Nfunction(e){# U& h9 N$ j3 S2 v m: X9 l, v
CleanHideObj.on(0,1)
7 h3 [& }# L; q* Falert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");+ P* k) f! B4 z- a! F
});- R" h5 Y- I; c | z
|
评分
-
查看全部评分
|