|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
3 _0 F4 E [) L0 i. G
7 Y5 y2 V7 O# k" O火狐插件,用猴子1 F; L% b3 o! [. e
& L8 B$ r9 v8 E, svar debug=false;
! s) X6 N" B5 r! @ x: a* \var CleanHideObj=new CleanHideClass();
# O7 I. M& k+ T0 }3 A `! c% O1 \1 T5 c# e
function CleanHideClass()
4 e& A* k' ~; d% g{ , u9 x" j! \% `( j) s
& H2 {# ~" l* ] W- D
this.on=function(id,bMZ)
& f9 [: d! L' E, k {7 @, X3 O! _0 L% G5 y" l) T7 G
P7 Y, a$ k9 c6 u0 } if(id == 0)
% L- U' D0 t' R {
8 q) v0 P# m( G$ p var page=/* document.getElementById("content").contentDocument */document; : n8 V( ?$ R; P2 ^% M* Q$ o
this.RemoveHide(page,"span");- j6 n7 y9 f+ M) {$ I. B( R
this.RemoveHide(page,"font");/ n1 e( I9 t4 v) G+ S1 A7 g) l) T) A
this.RemoveHide(page,"div");
7 L' Z% U ^8 l. w2 r this.RemoveHide(page,"p");( t0 J' @ _" j2 o# d* W( ]
2 o/ I7 ~ u4 X ?7 c* i: _ }
, l$ N) L" c6 C& \5 L7 X : _% d2 f+ V# C$ [
}
6 w1 G5 f! Z) m0 w6 k this.getobjstyle=function(node,prop)
! ~, ` n6 }0 l3 q; Y8 n {
7 q" l- \: d6 h) ]9 T try
+ d9 z6 Q- D ^1 b( J9 z, y {. `! C& d4 n$ g3 E4 c# I# Q
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
* b8 `9 Q/ p( O% \) U+ @% Q }
! E, p( k8 f- q: P) I" u catch(e)
/ R3 y6 A# v$ h$ K {0 P% D7 i5 p- |% j+ d. I
if(debug)
q. A, i/ N+ U& |4 @0 `) L {% F( F8 |8 o7 t7 i( X1 V
alert(e.message);. F" ~/ e8 y0 J( c8 _
}! z' e4 X! j c( Z4 T1 G
1 z; G0 V- u; Q9 T Z0 q2 W- ]! c return "200";
- B1 n7 A; ?& q9 O' \) U }
$ T1 p# G) d- Y& h2 X* ^3 K1 j }
& j' X6 O8 y0 G8 h! _ . ~8 A% O" S; \' i/ q9 K
this.RemoveHide=function(page,objname)) U) U/ D( q& Q; H
{- |+ j" Z( T. p
try" _. X6 y, o" ^' u y
{
% U, Q( M3 h* o* e/ M6 } var minValue=15;' h5 a( K1 k4 |( m" v
var objs=page.getElementsByTagName(objname);
^# k; {# x1 J3 ~. g! C, T5 y9 L, s* o9 w- V5 C( A+ \
if(objs.length == 0) - N* b7 [5 b5 Q# `
{
7 E* G; c; ?) m" f if(debug)( X0 {, z5 ^( n8 D; J0 C8 R) M5 c
{
) n1 T* _+ h7 Q2 ~4 D/ d alert("no object found!:"+objname);, T9 S( I% [5 c4 A5 d" o0 B- b c" X0 @
}9 C x0 w+ n9 e
}
7 A0 u, D9 A- x1 G else
2 ~4 o2 y* q3 n5 @- `5 [ {) H% y" V$ F7 a& f: n' W7 C2 ?. p
& X- \9 k/ s! r- U; c for(var i=objs.length-1;i>=0;i--) " A, c% q& O+ d' `
{3 t( k1 t: S i3 H' G; W) v
var node=objs.item(i);
7 @: T4 c6 U6 R, u
, `! F1 J+ O1 M) b D+ ^& V
1 {3 r# X+ [% U" C/ p s# g if(this.getobjstyle(node,"display") == "none" ||
( ]& ] ~+ I! `; L- K9 }- U this.getobjstyle(node,"visibility") =="hidden" ||, P: c1 c% R! r$ ]
parseInt(this.getobjstyle(node,"font-size")) == 0)
; G3 [; ^' V1 L! u5 { {
3 ]/ f, C/ g3 `" Y" t- O. s if(debug)" T8 Q3 z- c5 a: p$ _) y: r6 @5 O. y
{
- ^ q b# i- x* y# T: }, ^ alert("remove invisiable!");
/ y9 m6 ]: _: B2 j( r' V' s: b6 ~ }
. n* i0 K, t& d% I% Y node.parentNode.removeChild(node);9 M* L, o' G' H1 P# `6 K
/ R9 |) ]. m5 g9 B. G
}% c" f6 ~/ G4 U9 W6 ?1 @# W
else
5 s. H/ m. O% B, T0 ]# B/ G/ r {# c# f9 X9 _9 x) K
if(node.parentNode) & |3 U# k1 Q- _7 M
{
9 k- b6 Z+ ^# q+ o0 a& E' ` var orgNode=node;
! y8 s$ p# l" r var orgColor=this.getobjstyle(orgNode,"color")
9 P8 i5 a+ l: O, l var orgRGB=getRGB(orgColor); t' M# b' I* h
- T2 f) v5 l. [$ S% z var parentNode=node.parentNode/ I6 Y6 q% ~- g4 ~
var parentBgColor=this.getobjstyle(parentNode,"background-color");7 M/ l2 Q6 P0 u$ L0 U2 J
" u: r7 |/ M5 J
var isLast=false;' A7 ]7 {9 w+ J5 Q: ]
) U1 A$ T, J3 S5 ^7 [
while(parentBgColor == "transparent") ! P: j/ g6 R2 T9 x5 P# @; u5 K
{( Q8 D+ z7 X. \" P
# l3 w. I( u, I- O6 q
|+ x/ Q1 O& m J8 @& l if(parentNode.parentNode == null)3 R; d8 h1 s a& U; D
{$ m# x9 _; J) r
isLast=true;+ ^/ {) B; B5 e6 h3 m
break;
: L$ G" X6 Q$ }1 x) G }. d3 v2 U: M s
parentNode=parentNode.parentNode;
! X0 e+ a) D, A0 v" G' m parentBgColor=this.getobjstyle(parentNode,"background-color");( G' V* c) e$ s e
8 t Q% K* l- _0 w: B- B; R if(parentBgColor != "transparent")
6 g- ~: e9 U7 ?9 L5 h4 } { p A/ b' o3 g, @+ ]9 D
break;" x2 V% ?2 U8 I8 M; v" [
}
1 [0 C/ i, g" [' e+ {4 e }
( F- l* g8 t! P7 K if(isLast)
8 p) J l5 {$ q4 m4 J5 Y% M {/ T7 k9 j& W y: z( F3 f7 ~
if(debug)5 p9 n8 Z) m5 A# \2 |
{0 l, a7 t; p0 A
alert("last!!");
- r7 _( I/ [6 @) m" u }
/ T( d8 _ `' F4 N& F; u3 @ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
: ^9 S+ H; D# e+ b {
1 E9 B: j9 c& O2 p( W+ F: r8 g1 t8 b orgNode.parentNode.removeChild(orgNode);
0 L9 X; y! z7 X# A' o4 ?& E }( z8 S5 L$ e4 s$ N3 l
}
, w% N: @' O& Q- W( y else
/ }: E8 t. b8 |8 l {
- v8 T( h8 B# i. Z$ P3 t. P if(debug)0 Y6 s& e0 ` |& C/ F
{ e- h! N1 l' ~" T
alert("compare color and parent bgcolor!");( w, \: z, } Z
}
- [3 b" |* ?7 f9 d& M8 L' c parentBgRGB=getRGB(parentBgColor);1 X3 B% p C4 M$ s: x2 K; \
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))' ~/ L; D( G+ O6 A9 h
{% ?; S5 H7 x+ {/ U# B/ _. {
orgNode.parentNode.removeChild(orgNode);
& B" j. B' y x" }. ~2 W- i% I }. @) I* }0 T) y' |
}
2 {- b# j- ^. [& G/ ] }
6 a- Q6 i# t8 q" f7 C( j5 v5 A4 N }7 o! g: {+ f# a# P
}# Z$ Q3 k( O" @+ F! h
}' ?; |. U8 X, v, J6 j C" ?
- T' s" I1 a% ^. G1 c3 g) X
4 u9 A' `1 b- q4 B5 y+ K( J' q
var itemFrames = page.getElementsByTagName("frame");! M& \& G8 R# \' M5 Y" P
var itemiFrames = page.getElementsByTagName("iframe");
3 c$ a0 F2 |/ X ) b6 {& h# r. b0 ] w
var frame, iframe;# i9 P6 P6 q" a3 q* f/ o
if (itemFrames.length > 0)8 ^! z T5 ?' M3 e1 }5 _2 v
{
' Y, `0 ~9 n! Y1 f- W7 Z for (var i = 0 ; i< itemFrames.length ; i++) 6 ?* C5 m5 @' A( o: L5 j. ?
{
3 I. T) [/ J# _: }# A. x frame = itemFrames.contentDocument;! s2 u, p+ R2 _, l
this.RemoveHide(frame,objname);
8 x7 d) r5 K/ x& t/ k }
# Q) w) K9 s" ?6 d( u }
/ W0 a0 z2 n6 d4 ~ if (itemiFrames.length > 0)' d/ g r% s9 o* Q8 O, H
{
, S9 }4 d% B+ P% z7 X for (var i = 0 ; i < itemiFrames.length ; i++)
2 }1 G5 i, n) u8 w$ p9 R7 e {
5 z1 J) s+ V4 G5 \! r* s iframe = itemiFrames.contentDocument;( P4 \0 L5 l% H# U. |4 [0 w
this.RemoveHide(iframe,objname); . B$ w+ M& D1 G6 `
}8 v4 k) S1 \; \% s. R4 L
}! _7 L) Y1 r5 l4 K
}
( w9 K/ {, v9 T- b% l0 p catch(e)
" g% _9 |/ }- | C( s" f% M N {8 W- A- a3 o1 A+ r, k( ]6 l
if(debug)* R: F, t: d2 U7 _* Z7 k# H3 `
{
7 Q3 h6 Q3 m2 ^. M' v0 d, S) e. Y alert(e.message);, V I/ F& R3 t; c7 B6 o
}
+ C) r9 [( g1 }% K7 Q }
/ N' O+ ?( X: |$ W* v }
! }" \) b$ n5 e) u) M9 h; n7 R d + L3 J+ b. F. k4 m
}
5 B' G" o0 ^% t- }" l/ v2 v0 X. V' h. [2 `
function getRGB(colorString)2 B; s3 z/ x/ F1 n1 @
{
/ H i% o$ w; R: b" q( [9 w% w var RGB = new Array;
5 Z5 b' ` ~% y1 |! n6 \ var tempSting=colorString.substring(4,colorString.length-1);$ \1 h. ~6 A# {( F' Z N6 Q
var tempArray=tempSting.split(",");+ h3 w S* \/ i5 l& q+ ~ N
- j8 Z$ U5 c" a( w) m& k RGB[0]=parseInt(tempArray[0]);- P4 O2 D" [$ k" ?' N8 Q: i
RGB[1]=parseInt(tempArray[1]);0 O; f2 B. b P5 o4 K3 n$ v
RGB[2]=parseInt(tempArray[2]);
/ j# \7 g( h. M6 c & q, i2 w/ f5 k+ A
return RGB;
: L& I+ X, R8 T0 h0 `}
7 U5 P, \: D) S9 u, f4 Bfunction keys(evt) $ A5 w% h0 ?8 j4 \# z" h1 e
{ & J0 r, \# N9 q( P2 V
if(evt.ctrlKey && evt.keyCode=="81")
" g) d3 x: ?. C! H' q5 x { 5 ?9 g& V6 q$ r, p8 _
CleanHideObj.on(0,1);9 X5 F" {" Q. E3 e- N$ c
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ! }6 f1 C' R' g+ I$ v% L
, Q- P8 D! T6 m' Q$ {2 T9 b+ s } ( T8 _' ?( k6 F! S3 m
}
; ~6 x' g3 Y# H; w' }# Idocument.addEventListener('keydown', keys, false);
2 s, E, a5 m% y h1 N4 A: BGM_registerMenuCommand ('Clean Hide',; z6 _- Y/ s+ [5 E9 Q Z% G
function(e){
" a- ?, d& Z2 _$ n$ c8 GCleanHideObj.on(0,1)
4 o7 j) Z$ W( @* F# B' ~9 Y9 }! j1 q& m: Ualert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
0 n9 x) e H" P. Z# ~. N3 _});- x) I; ?% _6 z9 Q, _% }; }6 G
|
评分
-
查看全部评分
|