|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 & L. j2 ^" G* p' \
) H; I" V- n6 B i/ [3 j火狐插件,用猴子
: Z- ] B$ ]* V) Z3 m+ Q
) Q& r7 g" p/ j a# \7 Tvar debug=false;
& Q7 E. F4 z3 M- x; z: M' l( I. @var CleanHideObj=new CleanHideClass();
1 P: D! ?5 S( g U9 U* Z M* o& S ]8 P2 `0 ^. u5 J( p* z" a
function CleanHideClass() 7 {% }$ S1 t: h- D: ^% _
{
- G8 Q7 d; {6 p, R% W - N* _1 m8 w2 d& j
this.on=function(id,bMZ)7 T/ C0 R' }) ]9 _
{
* A* c$ \: c/ ?6 I1 H7 H
1 c& E- J3 K8 H: Z' o0 A' s if(id == 0)
8 U% S3 [/ E4 b {- P3 Q+ V+ B) X" n- u/ a( X
var page=/* document.getElementById("content").contentDocument */document; 6 S* i5 l- G; P+ A1 V! [- ]" b
this.RemoveHide(page,"span");7 C/ g A+ _; q' P
this.RemoveHide(page,"font");' @* S/ q# }! p8 X2 _$ O9 U
this.RemoveHide(page,"div");
( a0 a6 C: |/ q' n3 a' W this.RemoveHide(page,"p");
8 i0 U" o9 P- l% ^6 k
) p; w. k# ?" o- L3 Y8 N" [/ Z: Z }9 K @; O9 ?5 B. ~) c8 X
% q" t( n3 }4 F/ F5 o% |) ]# _1 V+ _
}1 p1 ~! o$ Q' n8 I
this.getobjstyle=function(node,prop)
# X3 E9 g ~/ P1 q) o. F7 j1 Q {) F& L: I0 W( ^
try
7 o5 \- Y: s }9 Z0 a {
1 j& Y4 |& B6 X0 T% R- { return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);5 V# ]) z5 C# \) {3 x
}
! @$ {" e& ]4 `- @1 W catch(e)
/ b7 _" Z$ U9 v% @/ [ k8 L& y {* H$ A& x( A- _; Q
if(debug)( R- n) R5 I$ X6 x* j
{
8 U( g t9 M7 l alert(e.message);
; g% `, w5 P' u: o( h }
, I0 i7 R0 q6 |0 n8 u, U7 \7 E/ v 0 f3 c4 A, P+ Q& Q: ]8 J
return "200";
9 e- [0 Q+ p. {4 F F; T }" j" C) h1 F6 I5 T0 u: `
}* Z# f6 `, l3 P f3 B1 p F) J, Q; ^
& w( Q1 e p5 w. V
this.RemoveHide=function(page,objname)
7 j" R! a4 \1 | O7 W9 r {
3 ~! N5 w, d6 a9 n; R) }4 y try h, \0 h+ y9 r$ w+ r" H8 F# |
{
- d3 Y) p/ l3 g var minValue=15;) d& J6 y' U! U+ j
var objs=page.getElementsByTagName(objname); - O+ Z9 ]" Y8 |7 [3 j
1 R- W1 u/ x$ Z+ k
if(objs.length == 0)
2 D7 J6 r: ]" d2 Q8 @ {
5 t: R. I9 U- ]" l" Z7 D5 A: t. ?+ O2 [ if(debug)% K1 G" {2 z9 w+ h
{# c' K; i% j$ D
alert("no object found!:"+objname);
1 J" b/ f1 ?' ?4 a) A }! u V2 @3 @" L$ J% V( z
}
8 r& Q+ e" M# x else# G# ~6 U* g& J% R( C( E) ?
{
7 R6 F" x. p0 p0 ]* e" L
6 q" u: X7 A! i for(var i=objs.length-1;i>=0;i--)
5 {6 j* j6 y: U2 ^. Y+ q {* w9 |, t7 l2 G0 l1 Z
var node=objs.item(i); 7 a' S9 x7 x, Q) \' O
5 d# \; i2 }; o9 [5 N# }6 ~/ `5 b
; m, m9 V/ R/ A9 z5 r
if(this.getobjstyle(node,"display") == "none" ||
1 r! M* k3 Y- Y5 R this.getobjstyle(node,"visibility") =="hidden" ||
P. j) C% ^( A& A parseInt(this.getobjstyle(node,"font-size")) == 0) * z, t3 D; c$ F7 E& N8 L% g
{4 B0 p- h1 c) O0 p& ?7 ]
if(debug)8 f# U: o% ?9 c4 T* z1 ?
{
% I: t+ y4 F3 I8 T* k1 ^- B4 W alert("remove invisiable!");( S' g6 r( [6 K# w! \. J0 p2 `( M$ b
} s' Z# y) t+ s* s- l
node.parentNode.removeChild(node);% h, I F |% V+ R8 S7 N
+ U- A6 p5 o5 {# k q6 _
}8 U4 @$ V9 U4 r4 {" E8 O
else % f8 ]+ I; F9 t3 E0 A6 Z
{; a1 N# m6 C% S6 Y
if(node.parentNode) ' M8 {% c4 L; L' N2 W' A4 O
{2 D5 o# k# } K2 E. y4 o
var orgNode=node;& m7 ^2 v5 h' K6 T1 s, U
var orgColor=this.getobjstyle(orgNode,"color"), k5 k# M% _4 x% g+ o
var orgRGB=getRGB(orgColor);
: E0 I/ r% ], ^6 I0 x$ i2 c
1 u' N9 @, o' O8 L6 |4 y var parentNode=node.parentNode( S" i: f. E3 @! V
var parentBgColor=this.getobjstyle(parentNode,"background-color");
/ T) D2 j' ^8 W) v8 u7 e" `/ w, m " y; H& ?, ^, ^# @/ l! Z
var isLast=false;% k6 m2 q) P. }( o1 ~
% T1 m$ ~9 M# L' L9 z
while(parentBgColor == "transparent") 9 A( Z. a5 s: F. K; K. F
{6 `$ M4 r! z$ U- F! ]* A4 Q+ @
/ E9 U, [; r8 y
' g5 Q! B& f, s4 n if(parentNode.parentNode == null)/ I. @% \7 i/ g$ {3 E2 l4 P
{9 C; R1 f6 }- C
isLast=true;) y. V7 c @/ A8 l! P" \9 [% c3 ?2 [
break;* d& w* J) S# K' t+ F
}
7 j7 Z& }' K1 l9 ?$ v( [% Z6 k parentNode=parentNode.parentNode;
U3 ~; K- _1 J0 r" t6 y parentBgColor=this.getobjstyle(parentNode,"background-color");5 j) k8 X% u5 a: b/ @
: n/ B2 t2 G$ x s if(parentBgColor != "transparent")
3 p- I& [8 A. O, T) B' m4 Q {9 ~) q8 D+ v0 E. c1 I
break;
3 \0 g) D$ U9 k- C& w$ x }
# U. L* t9 E3 {, H' ` }% G) y" ]( E0 i
if(isLast) ! K" w# S% l' P7 i# L" M+ K6 Z
{
7 T. q. k3 l7 b if(debug)
1 ~$ S4 [' d* z7 S {
# M. _3 j, h# ?8 {: b8 b alert("last!!");3 r6 Q8 o/ h0 X9 i
}( `1 b1 t' @$ B; R' I W
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))- u |+ z& }1 l: g* Q( L/ m& U
{( y, y# z. l4 K/ J
orgNode.parentNode.removeChild(orgNode); 4 N5 M9 Z4 ]& f1 N& i, G
}
; l3 F- P; |4 z: g7 d }0 p5 ~ L9 e: f3 J
else
8 r0 L. P+ e. W! c: x {
! I& i7 h( R* C if(debug)
7 i/ N6 h. g# ]" l {
0 B2 v( l8 t$ J2 e/ I3 v5 H' M alert("compare color and parent bgcolor!");" D2 h! I5 _* b. r p1 ~0 }' s
}
+ p) Q6 g8 Q# S7 T parentBgRGB=getRGB(parentBgColor);4 B$ E7 Q {$ _1 p. b* X \
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))4 _( P8 w( ^2 V
{' {! h& v$ v7 Y3 T |8 _, Z
orgNode.parentNode.removeChild(orgNode);
7 S* h8 }$ d9 v0 x6 O7 k }
% _0 l* k0 i8 H% o* ~ }! ]: n( }0 K+ ^
}
/ A3 D. M& B" k3 R, L }5 w! }4 H8 I( t1 P- }
}
% ]4 ?" Y. V5 h- W7 U" J( f } Z. {$ H2 m2 d" Y5 y! l
1 V5 H% g1 z/ @
/ R, }6 _! Z+ m% u5 I$ A' K, @ var itemFrames = page.getElementsByTagName("frame"); {( x6 a5 K' O6 e' q' _" g* }
var itemiFrames = page.getElementsByTagName("iframe");- j! D( J9 c" I, G
9 m9 Z+ O* @2 d
var frame, iframe;+ [1 \. Y, U8 Q- I4 r% i
if (itemFrames.length > 0)
# T) n7 G' l$ b( w n. N {
8 \' ]9 M6 o6 t& Z* L for (var i = 0 ; i< itemFrames.length ; i++)
- [8 J) {" [* A# l# C4 y {
% m0 G4 j' d( Z& l4 [ frame = itemFrames.contentDocument;, n( k: M: O* C' `! m5 W" P
this.RemoveHide(frame,objname); 6 ?5 ?5 a* _" _9 B5 t7 n" a: X8 j) d; H( j
}$ ]5 f9 w* L; I4 K. a5 j; s
}
) }. g, Z4 B' m7 h6 P% k if (itemiFrames.length > 0): U* L' V+ G& w$ e
{) t% t- b8 M! g. B6 q+ Y% J: A \4 `
for (var i = 0 ; i < itemiFrames.length ; i++)
* W2 b/ B$ c5 D5 z0 a% t {
; P* k( }; e \ iframe = itemiFrames.contentDocument;
3 t4 P3 ?- F$ O1 U this.RemoveHide(iframe,objname); 0 d' i6 M' c( M
}
+ W$ `% ]( [4 b$ h3 H! |0 a3 W }
5 {: a- n! `3 ^3 i( C }% P) f3 ?% j8 |. V; Q3 j) z
catch(e)
! {6 o0 r% S& M( I {
. ^3 |7 Q; Z$ G if(debug)3 C! W# {8 F2 n( m$ U
{) [( B# P: o/ J. N2 p) i3 \) x
alert(e.message);) t* e8 X3 C2 g8 w3 s- f
}5 j. g: z8 }. R: v% |3 [, M' C
}3 r' Z9 a# T; x5 d; S& _
}7 L0 Z A5 \7 w0 [$ N
) e' Q* O1 B! @! j A; J8 Y( h
}+ r' l- g0 D7 e, Q( n% I- A; j
/ \/ {: q6 d2 o6 j& E$ n$ h
function getRGB(colorString)
! |/ y4 c) m8 e) h{
2 I5 n! N- s" ~& ]- i+ X var RGB = new Array;
- `% P8 r9 h. @; o7 v. \! `4 u var tempSting=colorString.substring(4,colorString.length-1);
! z2 L6 C, @" o7 L. ^4 Q var tempArray=tempSting.split(",");: P. I, r o* v5 s$ K- w) d, K7 [
! ?/ F' U- Y7 Y# M, g5 W RGB[0]=parseInt(tempArray[0]);
- B6 F, U8 H" v RGB[1]=parseInt(tempArray[1]);
" ]% |( ^ S( G& ~ RGB[2]=parseInt(tempArray[2]);
. H; v: A" L; V4 ]7 A; Z+ B ~/ ?, N$ B7 W0 g
2 V5 G' ~. O( g! n% n# S return RGB;1 K% Q9 f v8 ?, t$ T
}
3 e; A$ p: U& D" O' W; hfunction keys(evt)
& L! P- \7 A- B. u {
8 I# N! D6 j( }/ J! u& V3 l if(evt.ctrlKey && evt.keyCode=="81") $ Y# p0 L! H* j5 \9 g) X8 T
{
! h% b# M7 ]1 I2 b, b( u CleanHideObj.on(0,1);6 m5 C4 L8 e$ \4 W& ?( W2 J4 G5 F
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); & D; m; B" N; D! c5 j% P( A- v
, v. u# u( h1 s5 | o- T( u' ?
} ]+ B/ a/ G& h3 r
} 5 u0 e! \. a8 P8 T3 J
document.addEventListener('keydown', keys, false);
. B/ ~. t2 D0 aGM_registerMenuCommand ('Clean Hide',
! A7 p: j1 u: L. w3 Wfunction(e){( e5 P$ K, N0 L: H2 w
CleanHideObj.on(0,1)
' x7 I3 F& G8 Y4 falert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");4 {7 d/ {, q) d3 ?7 Y$ `
});
$ u. S. B5 q3 q |
评分
-
查看全部评分
|