|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
* U3 |$ Q/ `- w" U5 }6 U% z' @8 h' b8 u
火狐插件,用猴子5 o9 ^' w. ]6 e: z9 U Y
( V; F$ c; I( t1 Evar debug=false; 4 F, |6 m) [/ X
var CleanHideObj=new CleanHideClass();
5 N2 d& \3 _" I; a. P& R
# S. p7 K4 `3 W( ifunction CleanHideClass() $ Y, p* i% h3 V! h Z+ `
{ . ^3 C# o# I; K+ Z. H4 S
" v+ w5 W8 S. ?$ L9 F3 n7 q this.on=function(id,bMZ)& N+ ]8 w# V. J0 ]' E3 K
{
0 @, y' p( d7 O; D6 @& z
5 N8 f& ?* f% e, D; N+ z9 y if(id == 0)
6 m T6 z+ J$ \/ k% m {
: \) |$ K+ c* ?: Y- J var page=/* document.getElementById("content").contentDocument */document;
" D; k: B1 J- @2 P3 |: R this.RemoveHide(page,"span");
- N8 N3 \5 B# i; x: ~ this.RemoveHide(page,"font");
5 Z1 z9 [" S! Q# c this.RemoveHide(page,"div");
* m+ P# Y6 n* N% g) Z this.RemoveHide(page,"p");$ I' G9 a8 d0 z" T6 X
3 X3 c- \% }" n% L$ {* m8 O$ x
}3 a* |2 ~. x" ~
) J8 {8 v i+ z. M/ s }+ P; I9 J6 d, e5 P4 L
this.getobjstyle=function(node,prop)
7 \$ g9 C$ K, B* G! V; I {3 X" ?7 v+ U G4 t1 ]3 u0 O
try
% [0 [; f( c! I6 J& l7 }8 [1 } {6 Y* k) z; ~( h3 ~. I
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);6 r" I. B! ?; G# T
}
1 X- O7 m9 s) @( R- g1 g0 j7 h catch(e)2 X( o7 U m) r2 i
{9 B' Q% v2 D; V( F E$ ?
if(debug)& h. _# s* Z: p" g- i6 _ O
{
: b' i3 k9 T5 M8 G: b, W/ C" [ alert(e.message);
% E! {! R3 m6 d; Z }* A$ H3 ^' v- `7 V
0 j+ L/ M6 L9 H2 q( B" V$ v return "200";, \5 z$ n( }/ y6 n: l8 W
}
5 O8 j5 F& \6 `; t }% ?" X+ x/ o9 k# |
" p) d4 w& ?" o7 ]4 A: G3 W! t
this.RemoveHide=function(page,objname)
! I; C6 M9 `. I/ m( ?3 g! @ A {! Z3 T! [1 g+ ^! I
try9 k* O+ ?. @2 b# Y$ n4 \0 t- p u
{( S9 y% w7 ~* p! [# |- U
var minValue=15;
! f& T8 t' Z; n' o- b& ] var objs=page.getElementsByTagName(objname); $ _- _: L0 r2 B7 o
; z" M* ^+ D) {- i" d0 J# }
if(objs.length == 0)
F) ^" B' Z) p5 b4 w9 l4 n t/ n f$ h {! P' r1 H7 [" V. m H
if(debug) x/ l9 y- P9 N5 ~8 \* Y- s' J2 N
{
: j! w+ g, q# c- `" ^9 B$ b alert("no object found!:"+objname);
j0 ^: r! g$ e' J. W8 K" k2 M }: z1 s- C' p4 K
}
8 v( o+ m8 N9 |2 K4 N else
$ q3 T0 o) j$ z1 c; c0 d E {6 p5 r& Y; l0 j7 Q
, X; L! J; K) P5 `! R for(var i=objs.length-1;i>=0;i--)
4 C7 K6 n5 \: a {
6 e1 V7 x! R/ i% B% l% f' k var node=objs.item(i);
" e( W# a. i/ w" T9 B 9 R, h. \5 D) k# Q
7 A7 Q8 X9 Y! w/ J if(this.getobjstyle(node,"display") == "none" ||
: B1 d- P2 z6 T, V6 o0 N this.getobjstyle(node,"visibility") =="hidden" ||
, F' \; _0 b' c8 X parseInt(this.getobjstyle(node,"font-size")) == 0) / b5 D, ^2 l" U& Y# J4 p7 c
{
. s- I+ f1 L6 S: ], T if(debug)7 L) A9 }9 x% E( A; |5 D
{
}4 _3 D* p# O# ~( _( r alert("remove invisiable!");; [. s- k3 E* M. `9 y; X
}
6 T! [( o% D6 U node.parentNode.removeChild(node);
% x6 ^; V+ k# P4 F1 O$ W& C 9 T5 d2 c: O. V) n* P: F
}9 R3 r) Q2 }* K# H+ e
else
) F/ v! m9 z0 w; v! m6 a j% o {6 C$ p# v+ W* {' h) F/ d4 V0 [
if(node.parentNode) - { h1 g. p3 H I+ X' M
{1 G& s' |1 B# B/ w4 N3 m
var orgNode=node;
0 i6 I/ ?- M. w, p& ]% d+ j; | var orgColor=this.getobjstyle(orgNode,"color")
8 D$ b0 M5 `% M7 r/ A var orgRGB=getRGB(orgColor);
# @$ m1 v) ^: @- {
' z/ A+ N( p5 k var parentNode=node.parentNode
- q: ~2 r" O! Z var parentBgColor=this.getobjstyle(parentNode,"background-color");
- H) Y, i5 m8 F$ _/ J. S
4 \! {: D1 ] L/ p+ Q var isLast=false;
* a7 t* J" L8 W6 n* | ' _+ m1 _' @, R8 I: W! Y
while(parentBgColor == "transparent")
' D" a5 K/ p0 r8 h! B/ i( o$ T {
+ q6 S9 ], W9 k. p) C/ r$ A& A3 ~ 1 Q# w3 M) E# u
2 G) b8 F/ O7 l/ P
if(parentNode.parentNode == null)! C9 V" k# w: S2 {) }" H
{
! T) s6 ^" T& x* J; v" ~" \ isLast=true;
1 m1 Y7 i* u6 x5 S2 `# Z8 Y$ d break;
) e/ v9 h. ~. Y: T' q; U* I }& n! ?( M+ {" u% r- |9 d) c- V
parentNode=parentNode.parentNode;
6 ~! T5 I6 z e( {: M! \ parentBgColor=this.getobjstyle(parentNode,"background-color");
( R9 I& H0 X. |6 @* H' e D4 s0 i- X; V( Y+ M4 D
if(parentBgColor != "transparent")
/ ?, d9 x' P' Q! J4 u {' z9 O! q/ D7 r3 h* h, s
break;
& [& I4 J2 o( e& V: Z }. `2 D( M$ o2 f8 I! |, z# }
}# S' x; O4 A) V6 ]
if(isLast)
o1 j& J: d& T {6 I0 u7 O0 e% \# L
if(debug)3 q. g {- ^7 ]6 \0 x
{0 X# [" S) i/ n4 F
alert("last!!");9 F2 a! D5 `" T& P4 k. }; o
}
( F$ T* A" j) N; k. _ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
, b3 J; Z3 N6 { {9 P. m$ k: E3 v
orgNode.parentNode.removeChild(orgNode);
+ S/ t1 r" M2 \! Q1 I& w }
3 G, T0 H& K6 f5 Y6 x" C }# S+ s: }# W# m9 v8 U6 j& i
else3 E% D- @2 O* K+ |
{) N- {7 S$ O4 x! i* t. s* u0 N y/ t$ {
if(debug)
0 c; U8 v1 g! a" l% ~( D {! ] C% O6 N& _8 D/ k! a
alert("compare color and parent bgcolor!");
, D2 m1 M3 X& v }3 t& @4 d! V+ j0 e' N6 T
parentBgRGB=getRGB(parentBgColor);
+ ]7 g; z' E* s if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
) p; ^/ W5 f, e5 B. v& L6 l9 W {
3 ]6 x& _) ], X6 G& K orgNode.parentNode.removeChild(orgNode); + T3 k& U# m& L2 f: G
}) N& Y' M# Z5 }4 W1 h( @. q
}
9 s: [. `: f- q) K+ h5 P }! t! y6 t+ G5 {6 Y$ \7 o1 P$ X- o
}! s4 h3 J: v& x3 `7 P
}; [8 k0 u% x! ^/ U7 j: X
}
: r$ R! q6 W. V7 R4 H 7 p' Y! s" ~, d* _% V, N4 f9 P4 B
" f6 g, P3 n) j; C! V& k% D7 o var itemFrames = page.getElementsByTagName("frame");, H L' e2 a3 Q
var itemiFrames = page.getElementsByTagName("iframe");
. H# l) v0 j, ` 3 s/ c4 o: A" K1 Y; S+ X, X. P) z8 d& `
var frame, iframe;
6 r& D) G; x, t( z2 [& s if (itemFrames.length > 0): Z. E2 `% E' A* [5 a( v; L4 f
{ e; q+ D+ C+ B
for (var i = 0 ; i< itemFrames.length ; i++) ' E! M6 } }+ h" u, r7 R
{
3 A2 Z5 M3 n. W+ Q: \# _2 P- Y frame = itemFrames.contentDocument;8 r3 C# J1 C$ r0 n
this.RemoveHide(frame,objname);
% g7 w4 b! G- w* D v% u# j" U" s }
* ^* _3 w1 B" H }
\/ Y; Y2 J' { if (itemiFrames.length > 0)
0 {& U6 ?5 y2 T& { {" O) F! G, O3 p1 W
for (var i = 0 ; i < itemiFrames.length ; i++)
# z! K9 o* W% i- V0 Q- M1 m; [ {
* @0 X7 J2 H8 y4 h iframe = itemiFrames.contentDocument;: _* T0 S, R6 O+ p, m9 T% C
this.RemoveHide(iframe,objname);
, Z9 J6 f8 C _7 M: l2 a; @$ {( V# F }
* z: T3 X6 h& K+ s+ Q8 y }
; ?, g6 h9 ^* O5 i( }' c }, Q& Z5 w7 i Y4 Q. c( l
catch(e)
7 n/ w' R @: S7 A3 D% G% i" ] {1 Y, p7 U9 A8 O2 m& J2 k+ [
if(debug)
6 v3 q2 E* b# A1 t2 {: @ {& D/ ?3 \4 [: s/ S/ S
alert(e.message);
& R% x1 i7 E8 [9 x, M }- l9 m- l# A2 H4 Y @+ l, {. P
}
& s N5 u6 p6 f% B$ ~8 ?! B- ? }* N6 K( P- v. _- B2 A" C5 h
1 H3 p; |6 Z/ R$ l- e6 x4 i}
) _! f% R. G: f) ]- ]: N, R* B5 M& e% `" `6 p% k# D
function getRGB(colorString)5 R- }, q+ ]2 {% R! d
{9 s, g! k1 h9 ?$ [
var RGB = new Array;
$ U' ?, T. n( l6 b( Y' _ var tempSting=colorString.substring(4,colorString.length-1);8 L3 Q0 v$ i3 N( \7 q2 J* d& A5 @! [
var tempArray=tempSting.split(",");, B6 b! g; A2 z- {& ]
" [/ X( l1 K; v9 w
RGB[0]=parseInt(tempArray[0]);4 |; ?5 s6 m" u! |
RGB[1]=parseInt(tempArray[1]);
$ \+ ?8 c1 o5 P* o! f RGB[2]=parseInt(tempArray[2]);
# p; z$ @% V9 P
) {% D6 T) q6 Y% N return RGB;5 k' P6 w; f8 o) {0 ]; M
}" L& ]* P8 R9 n$ l+ g7 E
function keys(evt) 7 N. Z- J, j; J% Z* T
{
5 \5 I6 Z3 w2 u+ l if(evt.ctrlKey && evt.keyCode=="81") + q$ n; b7 c3 d4 \
{
0 A2 r! F' N6 ^& U2 D) l CleanHideObj.on(0,1);. l$ `3 @. o- r; V: U& W
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
' }3 n/ r# Z# F# y* r" ~8 F, Y6 t ! ~: O9 F0 X9 O& F: K7 }
}
9 j2 W I: A1 X( p7 V4 |5 `4 t } M7 c z7 L3 ?' t1 L2 u
document.addEventListener('keydown', keys, false);
|# A$ X- H L1 W3 }9 FGM_registerMenuCommand ('Clean Hide',/ |1 G; F1 i% O1 u6 u
function(e){* v' ]. O/ I% y5 O8 p X, ~! X6 @# F
CleanHideObj.on(0,1)
2 C: E3 v3 g+ V2 J9 halert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");4 _, Q# u5 `/ Y0 I: n2 Q+ E( D; s
});
0 `5 [( Y/ Z- I2 t# D |
评分
-
查看全部评分
|