|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 6 V" f) t% o3 n$ t* i _2 ~% {
D: L- `1 e7 q) K8 r1 z
火狐插件,用猴子( e5 b1 g: k, C( _* {* G8 O& J
, M9 `/ k8 ~* c" i a0 k: g% m7 n7 h. ]
var debug=false;
' K" t8 I7 X* o9 Z* `6 tvar CleanHideObj=new CleanHideClass();+ i! U; M! e" p5 p0 [
# |) s/ D. d6 c- O( B6 Z8 Dfunction CleanHideClass()
1 x' O9 J# e. H' @{ , W$ v3 k0 @3 U
2 J" G4 b; |# P" ]$ D" u this.on=function(id,bMZ). y6 G& ]5 |* q* Y3 W9 E! R B
{; s$ n" b, R `# i
0 k2 f8 A. }& z5 E+ Y( ^
if(id == 0)
3 I6 h8 i- A, n9 f% n3 w {2 U' ~/ ?! ?4 s+ q7 U
var page=/* document.getElementById("content").contentDocument */document; 6 f9 P& d! _/ b, {# H" b; g( e
this.RemoveHide(page,"span");
$ ]% i0 K. j# A+ x5 [ this.RemoveHide(page,"font");: e4 I' [* S6 |2 X, I
this.RemoveHide(page,"div");3 U a0 i4 ~# ~! B
this.RemoveHide(page,"p");
3 v: P3 k) s5 E 2 C2 o5 C b- t1 c
}" a( @& n' i/ {* d
D" x& n: H, w }9 e; ~3 W: A6 l2 f, G$ q1 o
this.getobjstyle=function(node,prop); f% V3 G: Y0 A. B/ A
{
) O! g" |4 f; A( k' s I6 R7 q try
( h; h( P" b* H! B1 Y$ r' U {
7 T+ w* \# l% p4 R return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
+ Q2 Q0 Z/ w/ s ] }
1 T% c9 E6 N# ]3 b+ f1 K# H5 A+ [ catch(e)
# S' c( q4 z4 a2 K0 } g; F {+ `- z7 c, X" q$ |- N" N2 f+ M
if(debug)
; m1 I6 Y" I; j }1 V4 \ {
$ B! C/ p2 O( W: v alert(e.message);
- Q5 o9 C: H4 r3 S* _ }) Z% o! |* M( c5 S! I
+ H( g: X/ Z% d& ? return "200";/ G* F+ V7 w; f# R1 k
}( v% r5 Y# J2 A( I# t) }
}2 T) ?1 U" O6 Z: a
B+ ?( Q& l' Q8 ?6 c8 }5 X
this.RemoveHide=function(page,objname)
2 v l B, q; C" P {
; J" Q2 m0 b) U8 k! ?, H try! o; g L& t9 F4 Q
{
% |9 x9 _( @! u1 I* c) c( s* n var minValue=15;
- h8 ?- _* ?! m v) m- U var objs=page.getElementsByTagName(objname);
- G: U' Q( y r/ ^5 o/ s. G! Q6 E; q" }) ^( W8 S( d% F
if(objs.length == 0) $ F; ^ o$ `! n' R9 I- E
{1 P' Z, d/ G _( X
if(debug)
" f- t4 z/ A9 W, k {3 T* `2 a" O: r: w
alert("no object found!:"+objname);
: l8 Z& y3 P0 s' q' R# J, `1 f9 F }& g- k: V' i R$ H1 O% k
}
) s3 Q3 z5 A1 Q' q4 ?5 W else% S& r0 B4 I( p2 c
{
9 L- _2 P( }5 o3 l% N: y" l
- i$ t1 b& G9 X' \( m5 c5 F5 L for(var i=objs.length-1;i>=0;i--) ( O5 R, U! z. z& \& |6 [8 `+ J0 E8 ?
{( I6 \; s8 Z7 ]$ s
var node=objs.item(i); 5 \. ~* [. l2 d, J+ k' [
y. D6 R* j- P" C2 @
; G g8 M7 s$ H; t2 H; @ if(this.getobjstyle(node,"display") == "none" ||
7 @: f. O/ m0 j/ v1 ^, a this.getobjstyle(node,"visibility") =="hidden" ||
2 j1 [& d1 i! B$ }) @ parseInt(this.getobjstyle(node,"font-size")) == 0) 9 `4 p4 j% V0 i& }
{
! l6 d- E+ m8 R# G1 S$ M2 z if(debug)3 ~: s1 o. v: C" o# [6 z, m B
{
1 ^" S/ V8 _ T/ a& @% Y alert("remove invisiable!");, l4 Z3 h' z: i
}( b- a" G- D8 M) f* t
node.parentNode.removeChild(node);8 |0 C2 h8 G3 M& Q/ r1 ]/ l
7 s0 G! \9 @0 d- V
}
8 I' \, C8 V' y) T) f1 t1 C, \ else
/ K$ {7 W8 K# O4 {+ z+ ~" e& b. V {; F- k3 D$ B0 R% C! ]0 h4 k
if(node.parentNode)
) o' I4 H( I2 A/ @" W9 g# y {9 r) @7 y% r/ G% w# w! q9 Q( Z
var orgNode=node;
- f/ t( q" L- l, l var orgColor=this.getobjstyle(orgNode,"color")% @+ W' _& G0 M
var orgRGB=getRGB(orgColor); ) ^) M" y. N( K' {9 b' P" U+ f
0 T$ _5 Y9 G# B: y: g; G
var parentNode=node.parentNode
2 S8 B* Y- q2 M a' n2 V. c var parentBgColor=this.getobjstyle(parentNode,"background-color");- F2 I1 F, g% {$ v4 k' g0 b
d# S; g3 K R, U2 F, p
var isLast=false;) H6 c/ `& l, q) U( s4 j
6 G! ~2 A/ ]2 I y while(parentBgColor == "transparent") . C1 n3 @3 |/ p
{
; i' o3 q7 a- c/ I0 N
/ I" z: |2 _& a* d. q4 f% ?
1 _8 t' ]) |0 ]4 ~$ n9 O if(parentNode.parentNode == null)5 l1 |: s1 R& T# ~; f! F9 o
{& P; _5 D) ]( V( b
isLast=true;, d! q2 f" `6 A z1 M
break;
# z/ S k/ {, i M. w. d, o& W }4 Y% Z/ E3 _' T: O% {, E; v; w! w
parentNode=parentNode.parentNode;3 |4 |' D4 U- n5 n% D* x1 I9 g- D& o! y
parentBgColor=this.getobjstyle(parentNode,"background-color");, `1 N# Q! W& l, f" P: y c
5 d, j/ P( r* ?' Q! i/ d* n- Q if(parentBgColor != "transparent")
8 J3 z! Q$ A1 t4 H" W {
! @8 m% D. `, m* Q break;0 A; P* N( S! O1 p, P: O
}
2 I* p8 Q9 B: g8 @! b" f0 v } m9 U- H k0 s2 h$ E" U9 _; m
if(isLast)
: v' j9 l# ^# J# i" a4 i* f {
. Y4 ~; x2 c l if(debug)
% H4 |+ }% s0 Y5 l! S& E3 E0 A {
. p. c8 f% Q* @7 P4 U/ [ alert("last!!");
( S! w0 [" @, |4 a- d# j. j/ B }; E, }1 y: C8 j. r$ R5 J; y4 O
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
" U- n2 d- U/ { {9 D- |7 d, Y" B
orgNode.parentNode.removeChild(orgNode);
8 d0 V. u! J2 W& A& r }/ ?( ^# m* S3 K) E- V5 I) v
}0 J6 O- l& P" |+ j+ ?0 d3 W3 U7 ^
else
0 G9 n8 P. A) R, V, D {2 x8 b4 m9 R$ _* |
if(debug)
- H/ ?' y) E' \% z. j {, ?, @" y. B3 ?; l3 _" u
alert("compare color and parent bgcolor!");
6 m2 g$ q# i% c2 i1 n; i" p }8 g$ }# o, J. [$ G" C0 b0 W
parentBgRGB=getRGB(parentBgColor);
, y1 n4 h9 p/ N* f4 X if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
2 W" ]8 R" r2 p, u {3 G6 E! j/ ?* e; M
orgNode.parentNode.removeChild(orgNode); 6 I) I1 v F. t' H9 W8 p. m
}8 B* R$ M5 w' y; s9 N" b- U
}- y" q7 n h6 R! }6 s v& M
}
5 {6 W* x& D: d( D1 d! y a }/ ~& r# p6 D& b) r
}" t) k' _) D: q# y1 K8 c" W$ |
}$ h- v! E/ z& _! A
- {& z0 Y$ a& f: ^3 {
0 U: m4 S6 {( ^) s, R var itemFrames = page.getElementsByTagName("frame");
% i, {; H& N* Z1 {4 K# l var itemiFrames = page.getElementsByTagName("iframe");
+ m6 D/ f2 Q2 ^& F3 S' } * X- i3 t: J% l2 p
var frame, iframe;6 k' K; [) K P
if (itemFrames.length > 0)$ e* e+ v0 B1 k& r' X R
{8 x$ \/ U Z# `4 @1 \
for (var i = 0 ; i< itemFrames.length ; i++) 6 e* [0 l- M- R+ w
{6 f w. c, q6 h9 c2 G, Z' w
frame = itemFrames.contentDocument;
/ R0 @+ Y3 w- |, a' F! F! v this.RemoveHide(frame,objname); 2 s+ V8 y! }2 }& U+ C6 f
}
, Z1 O& H5 S0 f x- s& G1 Y1 m9 z }
! `9 Q" D0 p/ w) p, ] if (itemiFrames.length > 0)1 l9 c2 ]( q7 _" T# H4 {. ?# \# ?
{/ A# ?- n A4 ]; O, L1 f
for (var i = 0 ; i < itemiFrames.length ; i++) 1 S9 ]) G H' ]
{
+ M9 o7 @$ A0 g iframe = itemiFrames.contentDocument;
( w' X& Q% M8 P1 W9 ~5 X/ P$ m this.RemoveHide(iframe,objname); 6 y* P% t5 {1 t8 _6 V. E+ _: \
}
, |, h4 x/ L, g5 d* k8 Z }2 S. U/ P. T) S/ H' ~6 y
}
) K4 W6 ?5 ]9 f: \& I catch(e)4 h$ {7 D: |( ], U% n5 [
{
; Q" P% h3 }9 q/ K: z& Q if(debug)- ^/ [9 S5 L! \+ K' j, _& S+ @9 J
{% z: q1 q2 `& e+ x/ j
alert(e.message);/ U" \4 ]8 ~0 l" a( p8 y
}
+ j+ J/ h5 ], s4 Y( O" i }* s7 w8 ~9 D, P9 k
}" d, h6 @- J; H; k0 G1 z$ j
6 T8 U+ m; ~2 l; ?; }( x}, i9 |; |" L& i$ V+ q: L+ T2 |1 n1 z
B# t8 y y* G
function getRGB(colorString)
5 d" v7 k* s; J1 F9 g9 }; }0 M{6 `, p2 h* G+ @& R$ X0 F
var RGB = new Array;" Q9 d( N$ v$ e3 L% \) d! C
var tempSting=colorString.substring(4,colorString.length-1);
! y! ?9 Z7 B3 y! G( u! v6 m var tempArray=tempSting.split(",");0 A9 z( Q1 Y w2 g
7 w% _# C+ O: i. p
RGB[0]=parseInt(tempArray[0]);
( l- l, O: y7 e9 w! ^2 J, ~& u6 \ RGB[1]=parseInt(tempArray[1]);" U& ~% s& h! l
RGB[2]=parseInt(tempArray[2]);% @( h8 s# i/ @2 B. {3 \0 O5 z( f
& N: y6 Y+ U8 N: Z0 e, c) S, w return RGB;) a/ I7 C$ s4 U5 O' K& X6 p
}' R" u6 t4 z* f% r
function keys(evt)
( i% R' `' ]' V, Z3 G { % Y! o' Y* C3 I s
if(evt.ctrlKey && evt.keyCode=="81")
" [5 W$ |5 |8 T7 ` {
+ q* \( {3 c* n. |* | CleanHideObj.on(0,1);% M+ x4 b0 R$ `8 Q4 q8 j* o4 F
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); . W# m" C8 d, F# b# M9 Q8 N
+ }2 U4 E4 w0 I } 4 y4 @; V2 C/ j X
}
& e" X. m6 a$ S E: Z6 [! l" pdocument.addEventListener('keydown', keys, false);
7 q1 T; \1 @. f# H/ q2 jGM_registerMenuCommand ('Clean Hide',, {* |7 ]$ H1 w3 j
function(e){3 G: ?5 o3 j5 U
CleanHideObj.on(0,1)" S" @! {6 ]# v6 }; i" e& P
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");; [; j' r/ k3 U. d: {; q$ h
});7 z! }# d- O4 t1 M- G6 c
|
评分
-
查看全部评分
|