|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
; b) m+ S& N# }7 z7 ]$ j; K/ h# @& E3 _6 X2 M" Q5 p# S
火狐插件,用猴子) O7 M6 s3 p% X# }
" ?1 P0 z) e1 v7 K$ v. Hvar debug=false; 1 A7 m* k9 K9 \5 W1 F# F3 p& K
var CleanHideObj=new CleanHideClass();
5 {, h3 B- j% k8 R6 b d6 }9 L& j ~; {
function CleanHideClass() 9 c/ n; H8 W6 R, L2 e
{ ! @6 Q0 C; S& l- f" g+ G
* _5 D7 U4 F. j( `& m" a/ M3 b this.on=function(id,bMZ)! @1 @9 `/ B* [
{
, |' h, @, z4 b8 O2 W / ^% t. h# E- }/ I
if(id == 0) b" c. W7 _; E
{
: F3 U; z: w# N! ^ var page=/* document.getElementById("content").contentDocument */document; ' {4 ~. O4 j* a5 E! ]% U& I: f
this.RemoveHide(page,"span");
9 l K+ j' F4 M% S4 }/ y* e this.RemoveHide(page,"font");- @& U7 ~3 q+ Q/ S3 U
this.RemoveHide(page,"div");8 }) B) t3 {# T0 g; N& v
this.RemoveHide(page,"p");2 P- K! L, z9 K+ A; \, ]. w
4 H w; M8 } y, R) P; e5 b
}
) [ Q& r# F3 ?. C6 V
( m+ z. E; e7 j6 Y. X/ m# E }6 D5 _8 G3 l1 u5 }3 ^* ^* V$ k
this.getobjstyle=function(node,prop); p8 i5 q! K) l. ~8 \- `* R( P( i
{
! x4 [7 F0 v9 c# d! O# v: } try6 {2 K0 t! n5 @2 F- `* D
{
/ z7 D: I' `4 M l return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);5 ? B2 ?2 r M2 h0 r
}1 \1 y. D) a- ]( U& `! F
catch(e)% J; N k) v! H6 s% h5 N
{
0 s9 H0 a; q2 r% c% D if(debug)5 S2 f. @/ k; O! E
{
6 m0 J& a1 ^) y1 }* m* W alert(e.message);' I. ^6 u" Z4 J; O
}
9 T4 ^& ?4 A" [* t $ C! a, ?! X' Z8 i# H
return "200";
! _% Q- p; `, r }$ ~5 b- s' p- ^2 }! O" j) `# Y
}
- D4 w" A* j7 n7 O0 S
% x4 ^ C8 j/ j C this.RemoveHide=function(page,objname)9 l/ ]& }' U! w$ \- w& @
{! F" [0 a1 u7 l$ P" f1 ]
try
- u" C# Y/ Q6 U: Q {7 k; U R6 ]& Q" E: t! F: s
var minValue=15;
5 z9 K9 {7 A2 `- {: V) B' I var objs=page.getElementsByTagName(objname);
/ V9 Z1 j0 |2 j- n$ ~# ^# S) D% ?# S8 n
if(objs.length == 0) ) C" y- D: m; J) M* u) ^
{
) L. w8 {4 J, R1 |8 O if(debug)( o: p* w0 D( |% P4 k
{
4 v: p" a0 y1 D. S alert("no object found!:"+objname);
3 q& k2 c& B- d* O }( U/ S$ ^& s K: ~. M
}
+ M) Q4 {3 M$ {/ N# b else8 J3 D4 o" w1 L5 P3 A t
{# \* \8 v! w' s( Y; ~
) R' f; U' d$ X+ d5 |3 c for(var i=objs.length-1;i>=0;i--) & f9 t, ^9 b5 y! H I
{' \" r/ E4 g! a: _7 Z
var node=objs.item(i); ! O: ~' u, M: W8 b, D" ~
* b+ `3 }6 l5 e* P' g
8 A. ^2 x/ e5 i5 u" v, |
if(this.getobjstyle(node,"display") == "none" || H+ [( l9 b9 [& B
this.getobjstyle(node,"visibility") =="hidden" ||
0 s( d/ q3 E D( i! ?' S& e parseInt(this.getobjstyle(node,"font-size")) == 0) & j, q( c) @0 P5 `0 F1 A/ G* z
{7 ?$ O3 a3 S+ }- s
if(debug)
; l/ z9 V9 D5 b# i+ M {8 P% x1 n( H1 v8 k+ \' b6 R3 U
alert("remove invisiable!");+ R8 i6 t0 Y0 J9 E
}8 `2 d/ p( f7 `2 Q. D4 h
node.parentNode.removeChild(node);
( C2 F. u8 D% C2 v0 Z
/ H1 W- m- e. Q* O }' y$ E# I, ^2 p" a
else # l6 Y8 i# }2 D9 z+ u" I
{7 F2 t. Z/ G" Z8 `& p/ |& @# d
if(node.parentNode) 7 F$ {0 @. G4 M7 r. H7 v- ~
{
1 @* _* i( M. s; T var orgNode=node;; Q) t3 z( ~" a- t5 M* F, |
var orgColor=this.getobjstyle(orgNode,"color")
! [9 o4 Y& K2 p! u' j var orgRGB=getRGB(orgColor); # Y+ @/ d" j3 ]; @' ]
u: t$ R) n' t2 U, Y
var parentNode=node.parentNode, Z$ U! G* P9 Y) ^9 M% F
var parentBgColor=this.getobjstyle(parentNode,"background-color");
5 [- ~0 o& y2 } 7 W7 Z4 Z4 o% Q l4 F" K
var isLast=false;2 ?% }- @( E$ ?+ S+ b2 t
- E' {0 U, \- W U! R" s. h2 P" ]' k while(parentBgColor == "transparent")
/ Z k4 }% u' C; I# \ {! @) Z' _# M5 d' Q7 r; ~
" h+ Q+ ?' f) i& F- c
) B x p# f) G; `0 n0 `& i: g) |6 a if(parentNode.parentNode == null)
7 R/ s& s* M$ T" p1 l5 K( t0 E7 o {) L0 [# W8 q9 K5 a
isLast=true;
% o% c/ Q; c, ~; |2 i5 x* q( S2 _ break;! g: x! M4 \% f3 n3 M
}
. d1 b! U: r8 I* E& s2 @ parentNode=parentNode.parentNode;- T8 n# u2 b% n P1 e3 V. [& |
parentBgColor=this.getobjstyle(parentNode,"background-color");! q, z$ u' A# p, A' a( \
1 J4 o9 Y2 W3 \# a! m4 ^ if(parentBgColor != "transparent")
v( t: j7 u( ?) a/ s6 R5 ^ {
/ ?( I4 Z+ \, M) v1 B- f) @4 s break;0 k% r2 t9 @0 y+ W% p" X
}
1 C6 |2 F7 x3 T5 I! E/ F l }
2 ] ^2 D+ u) i if(isLast) & O6 x% l$ S; _" W9 h y
{ O) U4 b. l& P5 i, f& n8 l
if(debug), {1 t1 ^! p" ?& C% q" o
{
- r2 b+ J) N3 _# v alert("last!!");* Z4 e3 `; [9 ~1 D4 P% c1 j* D
}
) o# X6 e E/ Y: r2 Z. d if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
" Z0 |+ E y- U6 a {# S# t0 r) ]: w' G7 U6 } K
orgNode.parentNode.removeChild(orgNode);
: }1 E, T, E+ z) i$ @* K+ O }" h7 |; f/ m" n
}
0 L7 u6 D+ F/ n) m; Y0 i/ @* S- R, y# | else0 M* m1 a) p/ D
{5 x! y3 f( X6 P! ], s6 m" O
if(debug)4 I% c0 D2 q: h( i# C
{
6 [! `' d. @$ G$ a0 K% [7 ?6 f alert("compare color and parent bgcolor!");: T4 T' z2 s$ H9 m# W. u7 F
}9 C% k1 }& E, s1 p* n" Q
parentBgRGB=getRGB(parentBgColor);* h2 c2 Q+ I1 F3 \6 B% u
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
( p5 h9 ?# K, E6 n% k {1 X2 j. ~: m7 @7 A- B+ ^
orgNode.parentNode.removeChild(orgNode); 3 b1 E {" s3 Z& \% w. d! P
}7 g: h; x8 m" a' s& i
}$ I9 Z% m; P8 M6 Z+ _
}
: A7 ]" \$ v- o' ^ }
. H0 f1 x6 b+ B) H6 c3 |9 t; z }
" X S' S9 ?' s. ` }9 m0 u6 \, N) o
) a( f9 f' N# S8 r X3 s# ]
/ i! i6 Z1 o- [& s" ?& l/ Y" ?; X, d var itemFrames = page.getElementsByTagName("frame");
3 N' ~& f) V/ T7 W1 K( ~$ n var itemiFrames = page.getElementsByTagName("iframe");6 l1 S5 c0 t! k8 Q: M1 l$ [
. s" y5 H/ ]$ I7 N6 _/ d
var frame, iframe;
3 n% v/ B( w- K0 a. a if (itemFrames.length > 0)' Y/ P) { w _) P5 f6 h
{
/ y0 x! g' P T& O for (var i = 0 ; i< itemFrames.length ; i++) 1 \: `5 S! z% b; X4 s- p2 |
{* |; U5 B' R C% _& m
frame = itemFrames.contentDocument;
I* x4 D" o% K& R5 `7 f- C this.RemoveHide(frame,objname);
9 }, \7 p' N% N+ i9 k# B }+ N' D4 [; K4 `, J5 v6 b; N
}
; L3 p1 H" V4 |% }- X9 a$ _; ^ if (itemiFrames.length > 0)# ~6 L% h4 o* I* p/ w
{
$ A9 x4 x, H3 x& [% {, j9 U9 B for (var i = 0 ; i < itemiFrames.length ; i++) ~1 w" g7 n1 z% H0 j) B/ T! O
{; K( c8 z9 Z# E
iframe = itemiFrames.contentDocument;3 \0 w) M9 Y4 j, z8 p. j, d! W
this.RemoveHide(iframe,objname); 9 f1 h0 S! X" Z" d/ |
}; @/ Z( O! j! D6 V/ J: i: z, f
}! H8 c* K G: B6 w" j1 {
}
0 b7 L3 X# k: p2 [+ W1 E- k catch(e). Y4 Q7 e2 L9 _& s9 _# h
{
/ ]3 a; V" [/ A3 d- n! H2 N1 L( t if(debug)
+ d7 [7 _7 E: D4 u. I1 X {
/ X2 [" F. s; u ^* d alert(e.message);
# @ g) ?% \; j1 {$ o2 i }
* R& I$ B1 x& C- W }
5 ?6 v2 m/ ^: ?/ s- f }- g5 n# N: h) x
/ V& I7 D) y0 y$ K t}$ [" g& y; |) l* q
- q( X* Z6 w q6 s9 o1 Hfunction getRGB(colorString)
8 b: G3 V; {5 W4 m. G8 {; u$ `- [{
8 b* @ S2 g) y! s4 s: I5 N6 t1 j var RGB = new Array;6 ?. r; \4 I6 I) z5 h6 y
var tempSting=colorString.substring(4,colorString.length-1);
9 y$ m- z2 G2 A7 G$ T1 W+ y/ V& C var tempArray=tempSting.split(",");& [, L1 E3 M- f A
0 E9 d# i% W' g* g8 e% k( G' \, F) x2 ?
RGB[0]=parseInt(tempArray[0]);% i2 i5 J( r; \, s3 Q4 ?
RGB[1]=parseInt(tempArray[1]);
0 C" K- M( h/ _ RGB[2]=parseInt(tempArray[2]);
. F: [; r9 L- i: j
% ~2 G* A2 w# c$ G/ w$ n* h return RGB;
' k8 ?+ n2 `3 ]}
6 A, `: c _% O7 i$ n9 Ffunction keys(evt)
$ o& Y# F+ L# p6 q {
- R) u& L* ]6 z8 a- g& o& B0 a9 ] if(evt.ctrlKey && evt.keyCode=="81")
3 i# e0 g Z. J6 N, X6 k! N { / Y+ k" T8 ^7 w
CleanHideObj.on(0,1);) x& F1 r% T, R3 z- J
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); $ e D' e! l" O( |4 Q! l4 n* J* g% l
2 X. I" x" i* h! }6 P( C8 q% r
} ) N2 I+ j' p4 O+ t' h
} 3 I$ ^" c8 Q* S, q( ]; T$ O" N2 W
document.addEventListener('keydown', keys, false);
2 a8 K, p+ T7 r0 bGM_registerMenuCommand ('Clean Hide',
3 P% |# X$ I0 }5 gfunction(e){
2 R; x- \0 I9 k# ^' t5 QCleanHideObj.on(0,1)% K2 p, T$ z% l6 M3 e
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
6 U" Z: \ }( n7 t5 [2 r: j});
! }: [1 u- q8 h& O) K& s1 ^% R2 S |
评分
-
查看全部评分
|