|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
) I( x2 C: }1 k. `. t! [0 G6 \
! G; v: ~6 ^9 d, Q# Z; q4 B火狐插件,用猴子
: }# G# q9 |7 Y6 F* s4 c% u( Z3 r0 B6 F9 z [+ O* U" P
var debug=false;
5 M, Q8 p* @& ~& k8 xvar CleanHideObj=new CleanHideClass();
! O7 m% c- t7 D5 s/ ?3 Z$ F" r& W. ]6 H7 q) L; R
function CleanHideClass()
$ k$ r! Z3 z5 u0 W& M- s; C: T1 M{ % N: E, E5 g5 J# m9 [6 T7 Z1 [) P
6 n7 u; y5 c# k" O: a6 F5 `; b
this.on=function(id,bMZ)
! w f$ N, k& h4 G: c/ Q6 { {
. i8 w% ~& L. E" m: `* O ' p2 t) f5 \! {2 |) d
if(id == 0)
2 B4 N |" Y) h, y {3 @# t7 M$ ~4 x$ n' x i
var page=/* document.getElementById("content").contentDocument */document; ) J6 G9 L9 o4 x: H+ p: n
this.RemoveHide(page,"span");7 l- ]' i" Z, Y
this.RemoveHide(page,"font");
% s0 x5 b% E! x, } this.RemoveHide(page,"div");
+ M' a1 F# H2 }, ^8 M; a this.RemoveHide(page,"p");
# ^! Q# `! t" j; M8 i, x1 ` , d+ u) h0 A- K _- D
}, `' g! i# n2 T) K
+ i+ U+ i" x- ?5 f/ ]9 w, |. h- x }( e( `% u; [( N6 w3 @
this.getobjstyle=function(node,prop)* t( y; r; n( A0 U1 `
{& Q- _7 u% y& F( P. q- I
try
. s* O7 e# h0 e# \5 y# s {
/ s) j0 ^! p$ K& i- E return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);( Q. n* S4 h2 t8 B7 c& H8 E2 i* F
}& K( ?9 ]$ V8 q+ y) K) z
catch(e)
" Z' @ Z6 M6 W; U {
0 N5 P; @/ C! B8 r" I if(debug)
9 q @. @' z, J' m4 E, i {
. d. ?8 K% Q# x/ s. g/ ]% j alert(e.message);
! Z/ S' I: }+ m, z8 G }# m: X& O& u7 b1 a) a
' d' C+ `/ p$ H) r1 L4 n7 d5 L return "200";
}) [( T* l/ E0 q6 @$ N% p0 } }! q" b2 Q& O4 q8 N" o
}
, y4 X2 R7 I" s: }( M0 x & @0 k# d% W8 x; m) P" P \' l. ]
this.RemoveHide=function(page,objname)/ o' q- U- k- d1 }& W9 g3 I
{
0 T' F- `9 s* g+ e8 L* [7 f try; s- G: b# E9 v1 d
{- M) N3 U0 A% p% _# e
var minValue=15;
' l0 F3 U+ A& u, q1 X var objs=page.getElementsByTagName(objname);
" t* G, x+ L) @/ H0 |6 {2 o
1 p1 F, M. F% y0 d if(objs.length == 0) . U4 R1 j+ }$ t
{
7 S0 e6 [$ m. c' {- l if(debug)
2 Y$ K8 h% {* ~' { {
& [/ R: u3 e0 M) U alert("no object found!:"+objname);
; _0 S) W% O0 V }
' _8 [. F! R, `1 P& a& e3 E }+ B2 d# ^: |0 Z) l4 i
else
3 E; ~$ s5 H! y {4 e5 m Q: `! F1 d* V# l0 K
! \, S1 J2 o& E5 k( K
for(var i=objs.length-1;i>=0;i--) 7 _* I5 r. C, G, ?# U8 B
{1 t- e6 G$ J9 V. O* D' ]) t: S
var node=objs.item(i);
/ Y4 r: Q8 d, K5 x' p( }: x2 {
3 t9 p. ?9 O% C4 }9 i# L, T3 J ! s T! \6 q. t( h9 p+ n) N9 `
if(this.getobjstyle(node,"display") == "none" ||' P% C" D/ G% t/ n" V1 y0 i
this.getobjstyle(node,"visibility") =="hidden" ||
* h2 G m+ W+ g parseInt(this.getobjstyle(node,"font-size")) == 0)
8 F+ Y. |9 d8 \7 m: W( b {- e/ @, `% ^; U
if(debug)
& E: ^. j) ]+ s) }# z: s {
) v8 {. x5 p6 g; Y+ A& ?7 w alert("remove invisiable!");
K8 E0 B! ~0 K. L1 h- H; S }
( H' v+ h& x( H- q, ?: x: G node.parentNode.removeChild(node);. c5 Z& E2 T& ~
1 F8 ?# C( o% Z3 O( N* C }
# ^0 e4 Y* K4 L g6 u else ; k( a r* I+ O3 N
{4 R/ }- c; `3 ]: Q
if(node.parentNode) 3 L$ z; |* D$ j$ M
{' e0 _6 c1 L. }9 ?1 ?1 e c
var orgNode=node;
& w+ O1 [ A3 L; s3 j+ r var orgColor=this.getobjstyle(orgNode,"color")+ e; F K' t/ E5 _+ {- s7 D& }) D
var orgRGB=getRGB(orgColor); : N* d- `* V/ @- p8 M
$ q q. `3 G- k8 N" k7 t+ V1 @ var parentNode=node.parentNode/ g7 W, [$ a0 \8 `1 p
var parentBgColor=this.getobjstyle(parentNode,"background-color");8 a/ @; n0 z+ L' B2 m
/ A, R/ \$ _ Q5 s var isLast=false;2 A- D2 D& N, i2 {2 s1 d' d1 v; t
! K4 U3 U. u& ]* m! V7 i2 I+ U0 G! { while(parentBgColor == "transparent") ; N& f, W6 x" V
{2 q1 J8 w, l* o1 V* C/ ~6 ^1 m: a
8 r' S; g0 A& D4 y) S 0 z/ l* K1 a+ P1 ~9 J7 i4 d; A/ r; o8 F
if(parentNode.parentNode == null)$ @* W' m/ I2 n: d7 n5 ^
{* y- k! f, @$ j2 L/ ]3 F( X9 r( f
isLast=true;
2 E+ b2 h$ W" E break;
/ R: ]+ ?7 U- G# [ }
/ }3 l* _0 P0 F* N) c- d parentNode=parentNode.parentNode;& [. O! t' f7 |! }
parentBgColor=this.getobjstyle(parentNode,"background-color");9 U- `% A, c N2 r- ]" k; a1 b: J9 N
8 i- d- V, p. S& d; R if(parentBgColor != "transparent")
! P* B" I) v1 }' ] {$ @5 U& v5 r* Z
break;/ D- a: s9 ^4 y
}- l e T' P4 D' W3 Y
}5 e! N6 j2 _2 O* k, H. j
if(isLast) 6 h3 k9 r# T4 ^& B5 Z4 E& T$ M; n
{
* Q7 j n P6 c if(debug)
7 I7 A( y1 c; [* o6 H {
f# ~4 h/ b4 o8 y$ r+ Y1 S- Z alert("last!!");& E& `$ M, `: b( {5 c
}
2 x0 x0 J; P* I9 _( f if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
z% Z+ o( G. U9 Y, d2 s, K {+ {9 l: [! w& O" _/ K7 s
orgNode.parentNode.removeChild(orgNode); ) I/ L6 p& O: m3 ?& g
}/ b/ _. V: l% ~- w8 [
}
. `/ T/ E5 l; A6 C1 D else) q6 F& n+ R9 |/ ^6 ^. R
{. x+ l) M3 ]" }' x+ Z6 R$ u$ `) T
if(debug)
. L5 k: p9 q# g( W {
* U7 c) a ] v/ n alert("compare color and parent bgcolor!");6 u6 f# S- O `# m8 {% K
}2 N; n( Q& t8 s1 |' Z
parentBgRGB=getRGB(parentBgColor);4 C) z H+ M+ t$ B. P) h/ G
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
5 |; v5 ], T9 X3 I, `, h, | {( Z2 q! j# Q, e: s
orgNode.parentNode.removeChild(orgNode);
& ]" h6 G. H) Q: I( @% c }' P" r6 e4 _: H0 l' P8 v+ g5 Q
}6 _* I( N7 Y5 n* i! r
}$ K# [* U) p- g& z
}
: [" z p: y' W" ^ a/ ~0 U }
& ?1 ]% ]+ F& s, y. Y- k }1 M6 O! j4 a6 M4 F. u
$ E; ?) D/ k$ B( M, p
0 r0 ]# C: x2 M0 Q
var itemFrames = page.getElementsByTagName("frame");
$ P$ _$ l, r& V9 g5 q+ T* ] var itemiFrames = page.getElementsByTagName("iframe");
( ]' G9 c" t( d- O4 U; I; I , q4 C5 D( k2 `$ E$ A
var frame, iframe;
- }# Q7 k' K) V5 R- ^) \& B if (itemFrames.length > 0)* Q$ w) P' \6 C, D
{, U! Z( V* z: h6 ^) @/ j3 M
for (var i = 0 ; i< itemFrames.length ; i++)
6 }5 L+ P0 r6 _: R0 L {
0 O. i: S2 H- G frame = itemFrames.contentDocument;& ?" `# K# K! _- s7 V
this.RemoveHide(frame,objname);
$ v, \4 d1 S! _' T: ^ }
9 a0 C0 {! Z* n8 T M' Q& P& B: ` }* Z% R5 ~, Z6 H) B
if (itemiFrames.length > 0)
; q0 b$ v# _8 m( P {) `2 T3 [$ @5 e
for (var i = 0 ; i < itemiFrames.length ; i++)
7 C% F. s( }; q* [4 K1 G {, N- F2 n) |- M% y- C. e5 u1 l
iframe = itemiFrames.contentDocument;
7 U5 M0 V, ?5 L4 C* r this.RemoveHide(iframe,objname); C6 b% R X1 I3 H! {
}
6 D, `3 H8 J# _" O8 k& M5 ]+ {1 \: S }
1 `. ?! ]+ S6 R4 r& p5 Q }) f6 W; @4 A$ J; ~' V
catch(e)
3 h/ Y" ~9 J. j2 f {
* a5 z* ^& d' U7 X! d0 S7 P if(debug)
9 E) u, j8 U5 Y# o h4 H3 L G {
# G6 ^4 @* z, a" O# T3 } alert(e.message);, n+ T) h5 r2 m
}
6 o. k! q: w( b' D. s }. w1 v* V, c' E5 _5 r3 E) W
}
( [9 W- f/ q: G& [# B |: m9 C % F6 K0 A, \% r/ N
}
8 P5 n' [, T% C9 E/ J( t6 i" L& w( U* J* L# }
function getRGB(colorString) n3 I% {0 I7 K0 q, p9 K+ k4 i4 @
{' ]9 \9 u5 [" P9 c
var RGB = new Array;
- I( ?1 j% ^9 c/ C5 R0 S var tempSting=colorString.substring(4,colorString.length-1);" v4 L0 x9 D3 N
var tempArray=tempSting.split(",");. Q* t) U4 \. s( J- w
, a( M' Y& n q$ w9 X RGB[0]=parseInt(tempArray[0]);) i2 C6 g: @) i- Q
RGB[1]=parseInt(tempArray[1]);
8 G% q4 i1 j+ z) h4 _ RGB[2]=parseInt(tempArray[2]);
" ~* M% w0 s- [2 ]/ K + {6 S6 B% |# B( k& f
return RGB;
0 i( Z* K. O7 g1 _* M}
# s9 a1 s1 r5 C1 `2 L& dfunction keys(evt) 8 o; N3 T! o6 ?0 f: D# `0 j% i
{ % N! t- H+ X" _1 Q+ l1 B
if(evt.ctrlKey && evt.keyCode=="81")
- ?/ z2 O9 l a/ B0 G# {) _1 k. w/ a {
0 @. K: {" ?8 _/ B& g v2 s CleanHideObj.on(0,1);
3 d) k& {/ q6 m; A6 o" `' g: b( L alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
* _% |2 W/ T4 y % w" v% } k+ G# N7 }5 V2 h; c
}
/ N- S/ K, K: x5 Q9 J% b" ` }
- h1 ?! |& _8 X9 |document.addEventListener('keydown', keys, false);
6 s H5 W G) Y4 z2 ZGM_registerMenuCommand ('Clean Hide',
z# ^" K0 ?# U4 G: ^function(e){
5 ]0 R( {& n! z# E- MCleanHideObj.on(0,1)& h/ j( H S! l$ t/ b; w
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
& b$ k/ k6 e. S: g4 R. l/ p});
# b* s( G) Q0 Y$ { |
评分
-
查看全部评分
|