|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 " V: z9 L( u) z9 r
" D. f0 a4 k$ n; `, ]; b! j& H* F
火狐插件,用猴子1 \ l8 T) b1 p+ C+ x# r" Y( ]2 L$ c
" U# X1 g4 ^# g6 D1 Z9 k! T
var debug=false; $ R" K: L5 }. j- A4 F5 s1 K/ w
var CleanHideObj=new CleanHideClass();
e) Y8 X* {9 ?$ f6 R. B
4 n+ w& Y6 E- k" vfunction CleanHideClass() 7 x8 E3 O( G: S1 O4 e
{ % @2 u5 a Z4 `& Z
6 j4 z9 X' L# k0 p; [( I& A, q
this.on=function(id,bMZ)# A( {2 R. ]( z, M
{' v) J' z+ P( n
1 Y- I& g e, z8 h& L if(id == 0)0 a. ], _& ^: g5 l
{& ^* a Y9 ~2 d$ e6 o
var page=/* document.getElementById("content").contentDocument */document;
+ m& G9 e9 P6 [; J- h, U8 i! y5 d this.RemoveHide(page,"span");" @6 g" i# l, I% x8 x- D
this.RemoveHide(page,"font");
( o; Q8 e6 J$ ~7 C A( i0 x this.RemoveHide(page,"div");
1 H9 f* b( \8 S; e% @7 b this.RemoveHide(page,"p");
! o( W' }; f* q3 f2 i% D0 X ' W4 k: G5 X: `3 Z0 ^
}
+ K8 k$ w) |6 K
% I; Z; H- q8 A* S) b: T }
5 v. x1 y1 d- `3 @6 ~5 b4 K, x5 H this.getobjstyle=function(node,prop)
$ ~, \, ?* L m6 ` {1 m U* W, l& g
try. Y: b4 A4 b- d8 M& ~! y3 a( J
{$ B8 z1 F7 e; }2 p
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
6 z6 F- d, o% J& K" V( m. {) X }4 H1 H( a1 G0 u* z' J
catch(e)- m: n( f, z! G8 l- |
{' K9 q6 z2 f! B. ]
if(debug)6 P) i$ A) @' E% D. x) I) E- V
{
) d9 v/ r& l! C! ] alert(e.message);3 g, `1 O1 ]& e: t5 `
}
. S3 s: J$ n" K+ } 4 ]. ]" A! d7 }
return "200";
5 E w" t2 n5 e0 Q }- K# D( q3 U+ b' G b: k9 {3 _
}
" N- }7 X, K- b, x I7 X
/ ]2 [ O3 b+ _6 R0 t this.RemoveHide=function(page,objname)0 x z$ O: P8 U& ?: Z4 K1 r
{
& @1 j2 W1 Y ]1 T0 G try! w% H7 I; P: I# |) i
{! x# Q) w$ i: l; |0 n' }
var minValue=15;( q# U- q# b& E7 T& C% y
var objs=page.getElementsByTagName(objname);
* }2 x5 d4 `% \8 G- V+ S( n; ~" g
( m3 V# \6 N9 o if(objs.length == 0) 3 O8 f* u8 T5 T0 o" B5 ^$ ?& G
{1 l9 M/ g% |4 `: u* f- _
if(debug)) h: N4 h2 }# ^; m
{
6 h" H& U& j3 M0 i" B alert("no object found!:"+objname);
r" k1 `$ H# |' H, x, `9 R( q# _ }7 J8 u3 ~, s# u1 \
}4 u9 h* K4 G: y/ X; i3 Q, z
else
/ r% F ]( D1 D2 }% y; K8 j% q {
# @) |. _7 }. n! d( A' X
- o7 G. G" q, G0 d6 z0 b% R for(var i=objs.length-1;i>=0;i--) 4 r# a1 K5 @! Z1 k
{
9 g* o! z; k7 ]9 z& i" Q- M var node=objs.item(i); 6 I! _4 h/ x' e$ N- e& F
+ l1 M5 J9 }% r/ q) ^
8 a5 W, q8 E7 U5 c
if(this.getobjstyle(node,"display") == "none" ||
4 B, z: V# |; W' u; N4 a ~ this.getobjstyle(node,"visibility") =="hidden" ||
' M+ b4 @' r+ ^' ?- N parseInt(this.getobjstyle(node,"font-size")) == 0) ! r; W" B* d$ O0 M" j) e' K
{0 y9 F/ P2 q! E' `. J) l3 Q
if(debug)# ]! Y5 x& {$ m B6 M2 ?/ L! F2 s
{& J$ @# b7 E+ ?
alert("remove invisiable!");' [0 D' s& ^4 F+ s# L2 i
}- M+ M5 A# A& _8 X8 }2 B( S6 q
node.parentNode.removeChild(node);' v: n0 | }7 m
: x+ o) H0 i U2 _: g }' A0 d. V7 }0 i" ]6 n
else % Y# E9 c1 M' x& }( o
{* T" @, q/ R1 q; y
if(node.parentNode) 6 R& S* N. u) T1 n9 u g
{' `3 M! ?3 n9 s
var orgNode=node;
# Z3 F4 Y, \# k% ` var orgColor=this.getobjstyle(orgNode,"color")
& b1 a6 t* r$ _* A var orgRGB=getRGB(orgColor);
6 R1 N* t; q+ J: J! w5 ~7 ?# i1 Q 1 U% D7 H4 ~9 `/ i0 k% g0 N# d0 q* H
var parentNode=node.parentNode0 R- Q" G' i! A+ D* n; n% {
var parentBgColor=this.getobjstyle(parentNode,"background-color");
9 h, C- ~0 ^3 D- _ , ], h2 |( s3 Z' t% M% n- p
var isLast=false;* ]8 z. C8 ]$ u4 v8 S7 z6 Y. u- ?4 G
1 j6 g. u. ^. u* G( h8 ~ while(parentBgColor == "transparent")
3 R( i6 o8 f% |% ` {
. u5 M1 z8 K* B
& r, ]6 k% h2 g/ n
2 f6 u! C! u e' |1 b8 X" l9 F if(parentNode.parentNode == null)
- b7 E# w2 ?9 j1 q. N {. m: D5 x& i/ O
isLast=true;
& j4 N1 X6 a6 |. d! e break;
S& ]: y9 Q% f+ a3 H* g+ P( r3 r& s }
; w3 \4 k m, Y, q9 c: y( U' V parentNode=parentNode.parentNode;( V6 o3 [; F6 ~' l5 g3 S5 ^. i
parentBgColor=this.getobjstyle(parentNode,"background-color");% P& g! \% g8 `$ ~
) ]$ B2 i4 g( N8 P' A! ^4 t* n if(parentBgColor != "transparent")
9 [, ^$ R2 k# z7 k" ] {5 K4 ~$ W8 I( _5 z& P! \. u
break;
* K2 E' `. e% f7 z$ f }8 {3 H! j$ ~8 T! [/ V% ]9 P5 [) B V
}
+ c% U% m* E% Y9 G- k if(isLast) + c" h( D: e/ l2 x: M q
{* j7 X4 f+ D @
if(debug): G9 {, b. j, f' v
{$ \- e' _; f% P& W6 r
alert("last!!");* S! u/ k( E; `, p
}
9 @; j4 K# V) ~. u8 { if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
. i) i( z# E4 [9 ~1 P {3 q4 a& b; a- E. C. A
orgNode.parentNode.removeChild(orgNode);
* k- s# T; d* q- C6 \ }
4 r4 j& E' y' x# t, l8 k }
) C L( J6 n3 p }& A9 t1 O! L8 Q) q else, U. T' Q: s/ ` a
{- v0 \1 q3 t$ E+ _( I" M
if(debug)% [8 J6 R a2 E: A6 A
{) u- B; s8 j* ^( ]8 H( D* j
alert("compare color and parent bgcolor!");
. L; x+ j; H% F4 \' r& F }& F1 Q9 p8 H! X4 V: U& q* E5 I
parentBgRGB=getRGB(parentBgColor);
: W9 u$ W/ N) H. c |# M if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))3 t2 h4 _ f" V/ H4 n O2 H; z
{8 r3 z) }9 \# ?' T4 F! I3 w9 u
orgNode.parentNode.removeChild(orgNode);
+ z7 E l- ^+ |# F6 O } c( ~& Q* W" E. @ h- j( J* e/ e6 J
}
, R* ~! `( Z1 B0 ~- z& ]! ?8 K }4 D% N; m! X$ f6 [" D
}
$ D9 Q v1 G6 E% B" C }$ P; P R" f' o) H, ~, Y
}
& o; }5 ?* C1 [: S/ t8 I( a ! O% o u" C( q8 ~$ `4 K
# J' X- X3 U" Z9 u; a- ?6 ] var itemFrames = page.getElementsByTagName("frame");
- S+ O/ U* w2 E var itemiFrames = page.getElementsByTagName("iframe");+ ]1 {0 T" W, s$ n! k& o$ V- y' f
% [, P4 G0 X- V# f var frame, iframe;' T& t; T/ x+ @3 Q# t1 o9 ~* t' |
if (itemFrames.length > 0)
" |2 y- @% s9 D {, X( K9 m' C) s* m& K! H# O! l( p
for (var i = 0 ; i< itemFrames.length ; i++)
- V3 M& X* T* m M {
' ~! u6 G& g+ C5 J frame = itemFrames.contentDocument;" m0 r! o6 F/ ?
this.RemoveHide(frame,objname); 8 ?* U1 m5 R6 [: P _
}: P; X R' o7 ^* i% C q. @
}
/ ^+ `& }9 ~% e if (itemiFrames.length > 0)& t9 I0 C& F4 B, Q" T2 C K
{! U) g+ _; N- O8 K
for (var i = 0 ; i < itemiFrames.length ; i++) $ h8 w/ j) Q% C0 f# }9 s1 [3 Q, r
{9 C6 ? f" ?6 I3 ~ H: }' W, l. K
iframe = itemiFrames.contentDocument;
3 i, z- ~' U+ u this.RemoveHide(iframe,objname);
, a/ I5 ~- W4 v: X0 j/ q) i T }
* E5 p6 g$ F `! n5 } }" L3 S3 W' k& }# \' H
}' J' i- y% ]0 P+ x' V( R
catch(e)
$ `7 i* ~4 d2 A% P4 E8 O {( W& O* U& s( U; K' G* n& j
if(debug)8 [ p, x) j+ z' J* X. G
{
V+ O. B9 ?0 [" ?% ] alert(e.message);
8 X8 B2 E: [$ B' w2 H) B }
, l" m+ `$ r+ S }* M" ]8 T; x4 B8 V3 u
}7 q/ B: P! X% b- X
- y# ], n) D, i- T8 u
}
- k8 e( h4 l+ \8 e( F, [& K& a" P% P8 I4 J% C
function getRGB(colorString), j) J9 w# j. \5 P
{
, ^; u* `% |/ Z' j- u var RGB = new Array;( g6 O" w* _1 n8 M
var tempSting=colorString.substring(4,colorString.length-1);
. T: R; Y6 M+ |0 K1 R7 p \$ g var tempArray=tempSting.split(",");' B/ c7 x2 G8 x+ o: O' h
7 O( J' _+ l/ |! J; `1 W RGB[0]=parseInt(tempArray[0]);- E, k3 g0 C$ N1 c% k/ ~
RGB[1]=parseInt(tempArray[1]);
9 j% {. t8 g: n RGB[2]=parseInt(tempArray[2]);
* G# h$ j2 H: b0 |' g6 f $ M" B' P' Z5 h1 E7 x
return RGB;3 Q6 t- @2 v8 i2 I! n
}
2 G+ E8 V, F1 O1 B. K8 ofunction keys(evt) 7 R. z' N# a; X r3 l* l6 E
{
$ d" V6 G- `- E/ q# Y& W, g2 |( { if(evt.ctrlKey && evt.keyCode=="81") 7 I4 s* P/ ]+ \4 T6 v3 f2 y
{
& C- ~+ `& q4 X) ? CleanHideObj.on(0,1);
0 v; J5 `( B1 F# Y ^0 f9 k alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
' f* n0 A5 Y; ~* U0 { 5 Z; F# p9 H* R Z. D& v4 V3 L/ W
}
W+ [1 q* c$ x( \* n# P } % |0 Q9 c! T8 x. J/ R
document.addEventListener('keydown', keys, false);
$ O/ w: A" F4 k6 ~GM_registerMenuCommand ('Clean Hide',5 `2 s# Q J: l* i; Z9 T
function(e){3 R& F2 p6 [3 e& s) T9 f }' L
CleanHideObj.on(0,1)
! b7 `5 t- i3 l5 C- Oalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");) h. V+ x' B/ U; Q
});
7 C3 e2 J' r% u9 C u6 M9 w" @ g |
评分
-
查看全部评分
|