|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
$ P$ F2 e+ J* Q# I/ k* l" V, A" v2 x& A2 k+ R! C% q9 M( v
火狐插件,用猴子
9 Q8 ?0 V$ o2 N0 _
. X" D; X' ~, o$ k' Z# ^var debug=false; 2 v% M# s0 X7 ~$ @8 X: Y4 D6 ]2 ?
var CleanHideObj=new CleanHideClass();
) d' f6 H5 R8 _3 J, v
. h# V+ `5 d5 r) `+ _9 T' g q# |function CleanHideClass()
$ `/ B/ d& Z8 H G. {: H{
" C" k9 D+ H- `8 R! ~
' r) X1 x2 Y- b5 Z* ~7 t- U( T) E: _ this.on=function(id,bMZ)3 v# f) C6 a# J
{
2 g% o& i9 `3 j( q# | s( W 7 B2 K$ B% k5 j! X. |
if(id == 0)
) {9 [. W' J! b0 r {
# C6 V( O5 u/ {! L! z% N var page=/* document.getElementById("content").contentDocument */document; : e1 z: H) D; W' h1 G- D% o/ J6 `8 Y
this.RemoveHide(page,"span");
. R# L+ U& e y$ E7 u& T this.RemoveHide(page,"font");
) { l/ O; a8 l8 b9 F( O/ Y, R this.RemoveHide(page,"div");6 j- K7 b* B; \- S3 e7 ]7 a }- {7 J5 p
this.RemoveHide(page,"p");0 O1 Q7 k3 b( H& m7 J: O
' u- i8 ^/ u v
}
. g; p- d F4 {1 w% H 6 B+ g1 K$ f& b( L% D6 N
}
8 ~) E C2 A k; v4 s% b) S this.getobjstyle=function(node,prop)) A* y0 u8 `$ a* T: W, D+ N
{
+ u* J, g" u5 [) u/ q try" ]* W+ L+ ?0 k
{
, L, j- G3 y& D& t; r* W( B return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop); c# _7 K9 c" x E2 [+ e3 _
}
" B& Q& d% b- T- r ?0 _ catch(e)7 E- v/ o$ T" n2 |& j
{& {3 d/ A6 Q& D. L
if(debug)8 E6 M/ G* z& ~# |# u& Z) M/ ~3 y2 k/ b
{
7 p" D# q, d G4 L; r, {1 M alert(e.message);
9 S5 [7 i! N) [8 x5 L }
( m5 w M1 F1 Z6 }& b2 ]5 t , q" ^ {" m7 e8 |, D
return "200";
2 N$ C- H; ]& E& D+ [8 a* R }' B1 e7 z* a0 ]0 {! }
}. L a! @8 K7 X1 b* J6 d
; z! ~! x0 ~' z4 P" u- k this.RemoveHide=function(page,objname)
6 v/ j( l' [* G1 C {6 }9 U, [2 q" S# r) v" }
try; q! @- z& j, n! o( y
{& u$ B! g( V7 p" O0 y6 C- `( {2 H
var minValue=15;
8 N9 b# h5 E' |9 p% }- S: J x var objs=page.getElementsByTagName(objname); 1 r" R2 \) j. K0 d
$ \" _1 v+ f: V% ~% N+ ~ if(objs.length == 0) + X8 P: C' g$ g. T
{3 d2 R# _) g* x m! B( A
if(debug)+ D( m7 }7 E* ]5 c( k( k6 d
{
5 S) H9 V2 O0 q alert("no object found!:"+objname);
0 N& E+ N/ s8 e- L( e1 d }' {9 r/ f$ p7 X1 f; |
}
* ^5 @) M! G) w else
0 |7 v7 e/ R5 L1 w {, v; @) F( t8 f% T2 w
% V% ^: A5 ^. i for(var i=objs.length-1;i>=0;i--)
4 V0 c& E( O4 @1 I2 o8 N3 Z- P) @5 @: u6 d' F {
, W& b) g4 c7 f( v5 m+ t2 x var node=objs.item(i); 9 j; y- v! C, |3 R) E
% ]# j9 G: ~/ Z
* T& m( _' _7 t) l& p& L: [' O if(this.getobjstyle(node,"display") == "none" ||
c9 X+ Z/ d n3 c0 ]( ?) D this.getobjstyle(node,"visibility") =="hidden" ||8 t7 N4 j; s6 n$ C. s
parseInt(this.getobjstyle(node,"font-size")) == 0) # q& Q# L& g& U
{
" L. c( B! d) C. v( o) G% w5 l if(debug)
" h* ~6 _0 S" D4 a. k0 d1 r8 Q- F {
# o1 A7 _0 [4 h# Y alert("remove invisiable!");0 ]! x. m' o: s, R. q5 t
}% M! ~5 `: K, f: K
node.parentNode.removeChild(node);/ o& ]. V# F: v& {& C5 [
, U4 X- s* x0 a! Q }5 f4 p- @/ {# _# W6 A* W
else v# Y( y1 _( x/ ~. p1 l
{% s% \% c4 K" P
if(node.parentNode) 4 ^* K7 g c/ H/ B7 z
{1 U) U5 t; U( B0 k5 o
var orgNode=node;0 s; h% ?6 s* A4 d3 m
var orgColor=this.getobjstyle(orgNode,"color")# H/ ^$ y& b7 T7 G
var orgRGB=getRGB(orgColor); ! p1 L7 d$ y' H5 A( L. z9 {
3 A$ _$ U$ V4 r2 |6 M. h+ M. d5 n$ g
var parentNode=node.parentNode
- V. |; z7 n+ X- r; z var parentBgColor=this.getobjstyle(parentNode,"background-color");# P2 R& K; A/ R0 G
' t; P2 L, R; A) g/ C6 o; ?# d. G
var isLast=false;
& J0 G9 H- P5 u. X
, P0 _8 S7 U# v while(parentBgColor == "transparent") # c4 p" w. Q7 F, x
{9 D6 r7 Q" n1 e1 W% t
) f! R6 C$ n9 P 3 |, ~5 F& j2 _& i$ h8 `5 l
if(parentNode.parentNode == null)
0 k; z; m3 V& X4 E1 ^8 u Q$ o {
0 p1 z8 F V+ w2 ]9 k! _ isLast=true;
* r" g7 ?9 i# z- T break;
6 S |) s. K/ w; u& o5 i }; ?' J/ j2 M$ _8 O
parentNode=parentNode.parentNode;
- I1 H$ S' O9 @ n/ c; S parentBgColor=this.getobjstyle(parentNode,"background-color");9 A4 ?7 m2 u3 R+ P2 y
4 v8 ?( e4 @# j8 n b; e
if(parentBgColor != "transparent") ) ]' w9 F* @" A# S$ N
{
+ { T! K* Q4 h8 V" R# v break;5 R( Q9 T! l% U# j/ f0 w& p! T
}
; G5 R6 }8 G7 z3 O9 f% \" R1 @ }) x5 f1 |2 A; J5 V V8 p2 Q
if(isLast) 5 E$ X! g6 s3 O( |, V, v' ^% i1 ^
{4 K4 k! p% L, V. k
if(debug)% L$ F; C t1 y7 L9 X
{
! A/ [4 X8 Z; w0 u& X |! f alert("last!!");
' N* X& W4 @0 ?% \ }
u; A; Q4 B" n9 J8 i: E" m7 [ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))8 S0 f7 ^: {' _+ l" K
{: ^( _+ Q0 |/ Y( _
orgNode.parentNode.removeChild(orgNode);
% J, {" l: H% a7 m0 X0 k }- `! H0 V: A& D _1 {
}
$ @9 v0 E( H; `& z else W/ d* ^! M1 ~! u& I& ]5 p3 p
{
) N9 i/ c# q' E7 E4 j* i: Z' m7 y if(debug)) L/ o0 h& w, j9 ^# |% x/ F
{- b9 U h9 r6 N( q) i; P
alert("compare color and parent bgcolor!");" R6 d7 y# D( p
}$ \8 [, X3 ^& t$ P: E
parentBgRGB=getRGB(parentBgColor);2 G, \" ~2 J' Q+ s5 o3 L3 [( r
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
. q5 s7 A; Q) L+ q8 r4 H {* ]2 L$ J+ F/ N0 V4 g+ ?3 L8 ]
orgNode.parentNode.removeChild(orgNode);
8 I& a' o# B7 H }3 v2 ]) T6 \- f, V! W. I
}7 J$ s, }9 t: y5 J% _
}
0 t h2 F& O. {" Y; t0 \ }
6 @7 U( `! ?) r- ~4 l8 T }. m. s6 R' r3 a
}) d. Y* L c; K& A( \7 `& _; L
' E3 j# t& M- [$ r9 G5 K
* m( j* T, G4 V5 f1 S var itemFrames = page.getElementsByTagName("frame");
7 P* X {0 m5 T/ t2 ]6 m, _ var itemiFrames = page.getElementsByTagName("iframe");/ W1 s2 L+ |/ V
6 t- w9 m. A# m# y: Q
var frame, iframe;
' F$ ~0 J. P+ r/ F) _ A7 K6 ]- L. ]9 q if (itemFrames.length > 0)
; d# N/ d1 p n2 ?, j2 l7 A {7 O2 m% R& L4 F, f
for (var i = 0 ; i< itemFrames.length ; i++) - I- ^( t+ K) M& N. J
{
& x2 c( c, ]1 u6 u" `: f4 f! m3 O frame = itemFrames.contentDocument;
7 g2 U& h+ |% V this.RemoveHide(frame,objname); 3 v: P6 X% T# w4 ~5 H ~. V+ ^+ J
}
$ v0 E( }6 F5 ^0 R$ {& ^+ Z' } W6 h }
2 f# i# j) B2 N2 C) f if (itemiFrames.length > 0)
, F+ r: u! p' F- Y* f+ H {. B; m- E+ n6 M" K! g
for (var i = 0 ; i < itemiFrames.length ; i++) * P9 f X; _6 ?4 p
{( a4 @. e# z* R& h4 q# w& X) Y
iframe = itemiFrames.contentDocument;
9 t7 n4 S% U4 e6 T1 d this.RemoveHide(iframe,objname); ) s, [3 Y* j! Z" p. Z: }
}( u4 y- O" @1 f0 I9 p
}
& D; ?# u/ s5 y+ n4 U1 H }
8 n; H2 {/ ?5 g9 k6 e: a. a% m& K& ` catch(e)( m; Q4 k, x" s* K
{6 a7 p8 S. U$ @4 k/ p& {
if(debug)
' U M: f$ r& ^9 T- f3 y {
/ }* Q. r, i2 l- D) s: e; l* C1 e alert(e.message);2 [9 t2 V1 a" c4 G
}
5 r0 s9 R# A) E* P% E4 H) f: q }
. D3 N+ G# j$ \- \" S# [- O }9 h* G0 R( |0 y O( d' C
% @, B/ N& [' J5 d6 S1 h/ c
}4 E3 |0 R" W+ Q3 N# h7 {
9 Y6 A; R: E3 y# a) n; Zfunction getRGB(colorString)
5 Z$ E1 S" d8 z+ C, J{& H! ], [! |. T
var RGB = new Array;% }: `* s: o2 p2 ^1 V
var tempSting=colorString.substring(4,colorString.length-1);
& k* c0 [( R+ T |( G: K var tempArray=tempSting.split(",");
* h5 K& B/ D7 T4 j4 Z: B% ]1 p9 x. I" b% G( v% F4 t: o3 s
RGB[0]=parseInt(tempArray[0]);5 o5 h( h- ]) T* x0 N F; F
RGB[1]=parseInt(tempArray[1]);1 p6 m! N+ k3 t+ D& r+ T
RGB[2]=parseInt(tempArray[2]);! D6 Z, L. |$ W+ e9 R4 x
: T/ W6 c& b7 D8 h5 `7 a# f5 S
return RGB;
! w$ {8 Q" ]9 y1 J, T4 M}
y. P. k: V8 N# }; m+ ]+ yfunction keys(evt)
6 U2 C* F0 y6 n9 W { : A( I- U% ~6 H1 k7 U
if(evt.ctrlKey && evt.keyCode=="81")
$ B& Z4 L1 I! E. o0 |3 i {
! j: {* @' [) d: W' g CleanHideObj.on(0,1);
2 X) h- A v2 K' q alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 6 a+ S2 R0 Q3 {
* Q% G' N! s( s6 J }
& Q+ C7 q+ `7 L3 H } 5 c0 |. I% a ^2 ?9 K1 G+ t
document.addEventListener('keydown', keys, false);
) \$ _& C1 Y n; E9 B7 o/ \GM_registerMenuCommand ('Clean Hide',
5 k* ~* }$ U. U# v$ E+ Lfunction(e){9 s. U; d4 [( J
CleanHideObj.on(0,1)$ k7 _, p) b: F, F1 w% X) k3 E, M* r
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");- a5 B+ _; m( F$ _0 M
});0 E- P0 o) N/ H+ b8 y
|
评分
-
查看全部评分
|