|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
& \3 v* q- f& s; c$ D: k3 g6 x8 Q& f$ D
火狐插件,用猴子
5 O4 l; [5 n1 Y5 R, E9 W9 B( [2 Y; U* W
var debug=false; * g* E+ ^, b$ H0 D3 N
var CleanHideObj=new CleanHideClass();
8 G+ L( V* E9 T) X6 J# T$ x0 H
# }4 M: a' H4 z$ c2 v/ f( kfunction CleanHideClass() # r# Q; }# U. t* Z' t8 j3 A7 L
{
. _0 e m6 L/ R) Z9 V 6 u) C4 b: @8 S. C/ }" {4 C; Q
this.on=function(id,bMZ)
- B( x% W8 Y9 V: v: G& \* ] {) a+ n( j( M& }$ q( v3 L/ b E
7 p/ u) W$ N l* h* t s5 b& ]
if(id == 0)
5 A: [# _5 n u& ^/ k {# l0 C. |+ U Y# ]3 b# q! G
var page=/* document.getElementById("content").contentDocument */document;
* o3 A& S( B' s! M this.RemoveHide(page,"span");9 c) U8 {( |: v
this.RemoveHide(page,"font");
1 ^) u) N8 O$ F w' f/ [ Y this.RemoveHide(page,"div");
+ z( I: H3 }9 a# ]0 i1 t1 M this.RemoveHide(page,"p");
" S9 _4 V% O& a) ] ; ]0 O1 G' r# _
}
1 K; x3 R9 P; ?0 y2 `0 Z2 ` 0 O" i7 C. h' i9 f) r: h4 o) q! o
} M. v% B( q% V c/ \
this.getobjstyle=function(node,prop); z( V. o& C3 u: s
{, U) S! g0 k8 R, @* f6 g
try
& y9 j. y) Z7 i S {3 G4 V9 ~# n: Y# J
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
5 F0 U% o$ F9 m* G8 {# ^1 k }7 {' V; ^' L8 c' D/ Q4 ^
catch(e)
; r0 a$ `7 ]4 ~# j {: h: ]8 R0 e$ D, ?. c
if(debug)
6 k8 }1 u3 G3 k" S4 @: \8 m {
; _, y8 W4 b# Z9 y0 g alert(e.message);
/ t8 [& T9 L% X$ l }
' e- v# R$ w: v7 r( J* M; C
! y+ _; L& u2 W1 z" F+ A+ ]7 F return "200";+ i& {: d# Z" \: i/ f% t
}& y- _: q/ c0 K3 M/ @
}; }. N; x ]6 s, y+ x2 S6 p
/ A, N! r8 o- w! o2 o this.RemoveHide=function(page,objname)9 J. p0 u# d$ j9 s! K
{+ I; o; @- g6 A- c4 [+ g/ Y
try
% i: Q* M+ X" B/ ] {
% T7 v( j! Y8 q s, f# Y1 o; l6 I var minValue=15;
1 S8 o$ G0 D, {" U% k$ L$ |, r6 d var objs=page.getElementsByTagName(objname);
. c' z- D, n% r0 {4 H2 u2 @1 ?! j8 b" W+ H
if(objs.length == 0)
: ]" C% ?# f* r" b% Y% ~ {3 w l+ B% t3 h& l+ }9 p( n
if(debug)" R3 x3 h! S6 U- c% w' X; [$ J7 R H
{) e- O( f1 s0 O( T3 R& o$ z
alert("no object found!:"+objname);
B: s# w# \! a0 X }# C, w% u( c5 s
}
# G" S( K; {/ [& Q( G: ]7 f% p else6 Q! @" [ f1 N
{
, k2 z. m9 k* _/ b: m7 R5 M/ [! K 3 {2 ?7 v& r/ W+ m- L( ]
for(var i=objs.length-1;i>=0;i--)
0 N2 W& ^$ m: S8 H/ K1 C {
/ J! B# k6 b4 _" \8 } var node=objs.item(i);
# s) D U! L9 I% K k
1 P% n: {7 O9 ^( }
1 h/ b) z9 L4 ? U) ^ M3 M if(this.getobjstyle(node,"display") == "none" ||- Q. E8 b+ K; E3 @* K
this.getobjstyle(node,"visibility") =="hidden" ||
2 o5 y0 e3 S0 i7 P2 T6 t1 Q parseInt(this.getobjstyle(node,"font-size")) == 0) ) }$ j2 Z- ^) _/ l
{
2 o$ f: k- F, V2 q8 f" y; Q' t7 R- v if(debug)! K. R2 C) s$ i* Y9 z
{
" U9 n) k' D: O6 N# P! E alert("remove invisiable!");* ]4 F2 P0 |3 T9 A+ F
}
( I) m2 y _; K node.parentNode.removeChild(node);2 _$ q& A% q8 F7 k1 F* w6 t; K
0 f. w* g G9 [ o: F3 p }. t9 l# b( W$ s) [7 k$ H
else ; Q, s% m! e2 ]% Q
{
E. g+ n' X4 i) y' m! a- \ if(node.parentNode) , V9 O* P$ u9 J0 M
{) q6 c* F: I; C
var orgNode=node;8 i4 P, x, X) Q/ Y& G
var orgColor=this.getobjstyle(orgNode,"color")
3 r* K6 @5 H2 e# a! R var orgRGB=getRGB(orgColor); 6 T3 _* e8 m. `: P/ H1 P$ Y% o
" X& {; x. Y& _
var parentNode=node.parentNode4 w7 m8 n, b0 A5 D
var parentBgColor=this.getobjstyle(parentNode,"background-color");
( v( L$ R! P8 B. d) B7 N% S( ~/ A" ]
9 [4 k( [ \+ G+ L9 _/ H: ] var isLast=false;4 O/ z9 x+ e" N
0 G' d+ @' t' \) ^$ Z" f
while(parentBgColor == "transparent") 1 Y" s8 u7 X a
{
6 e! ?7 _- P' {' \, [
4 N, J* G8 f" G! a! @% ]
' C9 ^; S4 o9 P3 D if(parentNode.parentNode == null)3 Y# e) h: n" a& N4 z
{' C' y1 g1 k1 h) k% q& K
isLast=true;- V5 S5 o( s3 k: w- _' y
break;
/ E, w6 _6 w4 M }
, f0 `5 F3 p) q9 } parentNode=parentNode.parentNode;
$ {4 |3 n6 T+ h0 k! @ parentBgColor=this.getobjstyle(parentNode,"background-color");
6 h- H& L0 P+ i: `1 L) C
* f( `$ E' X* i% {8 a0 E if(parentBgColor != "transparent") $ F* w; \7 E. i- X' h- b* O$ Z
{
! |7 e7 y* E5 X, @ break;: a' j8 _- G, w/ F* V. }
}
* q' R. }2 o2 s' F; w }; d( V: `. N2 x
if(isLast)
# d2 }# L9 t( M8 ^, j9 I {
1 x0 s$ c) k9 s7 t% N& _ if(debug)2 a/ D1 U; ], s0 ~: o1 }1 z( Z
{
6 U7 m& z" x: {4 Z' S alert("last!!");
; e4 e. O: U& j5 C8 T2 B. d1 z }- t2 J$ p8 `. d
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
% c, E% |9 Q/ `. C6 \: Z {+ ~2 p( q2 r# \* q5 M# F
orgNode.parentNode.removeChild(orgNode);
. l( c' Y* T7 U- ]; R }) U$ o5 f& J# S! f. P
}
. u$ B! a7 G7 U$ d E else
! I0 F/ Q( f2 I& K# N7 ^7 N- x {
3 r7 F4 W! j8 A2 k' p if(debug)
7 }9 u) R* `8 Y; \ I; Q {
" I, J: h* a& y alert("compare color and parent bgcolor!");
, @# Z8 I+ j# t5 V, V6 v+ J' s" L }; K1 a4 P3 }2 M! |3 R
parentBgRGB=getRGB(parentBgColor);, e3 l# l) F. y
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))$ t4 }; c) B; n% v/ P$ J, t) F
{9 w( {4 \6 _/ w) W* Y( n! m
orgNode.parentNode.removeChild(orgNode); ' d+ a$ u4 m9 q
}- l0 h! i6 ], W e* p4 d" ^: r
}. L$ q, F0 f# h6 F6 J' N% Z8 ?
}
7 C1 r6 R7 k7 \% f' l# b }
: U- j6 Y# g: b7 ` }
; P; z( R' {3 e# Z/ a }
- q1 e/ h. y1 ~& m! l) k1 j3 i ) V& X, q( u) R* p3 ^+ o" E
) j; G8 A; Y7 i3 z
var itemFrames = page.getElementsByTagName("frame");' ^/ T& i* m" S8 x" o( U+ U
var itemiFrames = page.getElementsByTagName("iframe");; x4 U& Q, z& X8 l
2 @6 c ~+ E2 t$ U: h. m
var frame, iframe;5 f2 X! P7 a+ ?* g* o# a) B# Z
if (itemFrames.length > 0), Y0 ^: `+ P! P/ t
{* L8 i# W" M& a' _7 e
for (var i = 0 ; i< itemFrames.length ; i++)
8 k4 M8 h3 r- k+ W {
+ n$ w8 N1 p2 k5 t2 K frame = itemFrames.contentDocument;
@* p- q+ N3 {% w! i5 V this.RemoveHide(frame,objname); 8 R( G4 |0 l9 K" N! ~
}' q4 }7 z9 S: I
}3 n: H0 X# k. E$ u& G( n
if (itemiFrames.length > 0)$ F; e9 Q0 {( F5 U
{: y5 M* P9 U a6 A' f: j" u
for (var i = 0 ; i < itemiFrames.length ; i++) * g7 O3 Z9 n- E, ^; k
{
4 V0 M/ h6 j; h v) _ iframe = itemiFrames.contentDocument;
! c% h; U& f) A7 l0 ~( p0 w! f this.RemoveHide(iframe,objname);
# `' O+ l( ^& H7 z: |4 p* W }
2 \2 W! Q) i9 \: [1 ?0 K% a! c }8 L; |5 C3 @* q7 s9 k
}0 y( R; p* F- _: @0 ?) C
catch(e)
4 x, m; ]1 S/ e4 u' q- {" K {' J: I! ?2 n% d7 y; j
if(debug)/ z! w$ f8 J2 y! d2 T K
{5 s: Q' ]/ O# ]1 s$ n- _2 G
alert(e.message);
7 n# x9 }) M' x }5 `: q5 i. h8 @4 I7 J" l
}
8 A" R1 C% T4 Y5 s1 T1 r# e }
% N' K4 N. D; l* x4 `
; I; m$ e3 v- E1 F} A( e q6 x, F' p2 w' E$ S' R
6 F: K) B& ^; G5 }. \
function getRGB(colorString)2 T0 z. I R4 d6 X5 L1 h$ {* H' I2 ]
{
1 i. H0 f, s3 }5 L$ s, _, E var RGB = new Array;9 y# O& \ e P @8 D: p' v
var tempSting=colorString.substring(4,colorString.length-1);
0 j5 d0 w% |- o7 b; g var tempArray=tempSting.split(",");
4 P" _- L- ~/ }) a* { x+ ?4 V( Y/ p4 C: L/ ?# u! J% I6 j
RGB[0]=parseInt(tempArray[0]);
9 D, \ `' o; e! O' a- d RGB[1]=parseInt(tempArray[1]);
2 K/ n- y* \" e4 p% R/ Z RGB[2]=parseInt(tempArray[2]);
: `, V( l# c7 x( @; ^2 @
& p$ ~3 V! C4 U. V$ z3 w return RGB;
! p4 h0 `/ t. m5 w0 ?3 g( F6 ]}' ~" Q, Z% m" H. E" p! y
function keys(evt)
( W X' z" P. }- H, w2 {! f { ) B- L6 |3 H3 Y3 C6 l3 a
if(evt.ctrlKey && evt.keyCode=="81") 2 G! U# p! v( ^$ w4 l
{
* N! Y. Q: Y( I3 C4 y- Z CleanHideObj.on(0,1);4 O+ \( u' I1 x% J# d
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
5 R) y1 N% k' Z X0 \
: U# p) l/ V) f9 O" n$ t0 L } ; t3 u* [5 p6 r% F0 s& i) f
}
2 G; g% U/ U4 s) H* i6 K: V" Tdocument.addEventListener('keydown', keys, false);
, H* }+ p M4 O$ S" A5 RGM_registerMenuCommand ('Clean Hide',
* K. Z$ E7 Y5 X& Z) Pfunction(e){8 m. k1 `9 s% R( B6 E4 {
CleanHideObj.on(0,1)
0 t, c$ i* N, Oalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");5 h/ n+ N' z7 j- e( B
});6 F- m- G t) c
|
评分
-
查看全部评分
|