|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 0 Z" S, h" ~+ S8 Q
' n$ n3 q# [0 a+ c) U' d2 s# W
火狐插件,用猴子
+ H( i [+ M4 H* `: n' A. D% g8 F1 k; D8 v8 U% _
var debug=false; 8 h" B0 j3 T" o( w" e$ d
var CleanHideObj=new CleanHideClass();
( X8 B& C, N- m4 M. \6 G# G2 g# s1 a2 _8 {5 s0 M( D
function CleanHideClass()
: w! |+ S) U6 H3 G0 y k{
4 l: G9 p( F! L. M, v. D+ H$ ^
) d7 }8 C; x4 F7 y8 g4 N" W) l this.on=function(id,bMZ)' P7 F+ T3 [/ k* d* }
{, h( S6 x2 `5 l& [, j$ ]
4 `& _1 ^3 D6 l$ @ if(id == 0)' i4 O* k& \# F* I t ~
{" [' v, z D1 v! q/ e/ }# x
var page=/* document.getElementById("content").contentDocument */document; 3 E* k0 z. E/ }# h
this.RemoveHide(page,"span");
7 R1 s" `1 N' v' W8 e% X, J this.RemoveHide(page,"font");1 a9 t5 S, V1 c7 h" ^! V
this.RemoveHide(page,"div");7 e* |; ^4 i0 W8 u1 P! q
this.RemoveHide(page,"p");
. |$ @# J' r* k / F C) u' i$ a5 K/ ]+ }
}
# c3 l* c V3 f/ l+ N0 a1 q" D1 r & m0 [1 Q% @# I* Z6 a" K2 ]) a$ C8 V
}
5 A- p; v% a! J2 t this.getobjstyle=function(node,prop). P0 M' E6 H7 U! D5 X* \
{
+ ~! R$ ~8 b9 S+ L# s try0 |& x" }9 g6 N/ m Z/ F. ~
{
0 M1 A; x# d; b. l) _; ] return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
; E/ n* G7 L$ a3 A, ^ }
, w$ V" ^& a5 `, j- g2 B& H catch(e): u+ P- x3 _1 w6 |1 D2 i
{3 u1 @" n! s/ i' ^- ^
if(debug)) h4 u/ I: z+ Z1 }
{
! j! U7 P. l/ c alert(e.message);
: \* L: A* p$ ^% F }% R2 W9 {+ O8 r: r2 T
0 f! M3 }9 N9 j* H7 k {
return "200";
2 Z8 ^$ G! `& d; d }
5 N; X" b$ B9 x! K3 J1 D( E5 f }
' V" o/ ]# L) P$ A' w: C6 C* l
$ F% {" G/ V: e8 i9 X; j this.RemoveHide=function(page,objname)
( ^2 w1 ]# D7 i1 @ {8 v' i! Q8 N8 @% [! a) z7 D
try
3 K$ N$ s1 p7 _; c {
, Z, i8 x, Z2 E! t- B, m var minValue=15; @! y+ y( k. Y* b/ z0 F
var objs=page.getElementsByTagName(objname);
( L, t! G [ r( o; G3 t6 s1 h0 X( c" L
if(objs.length == 0) - G8 j- {. d7 \7 p
{2 C9 [+ P( S4 V4 a5 d9 @& V, Z* e
if(debug); }5 F+ G- {* o8 N2 p) `
{* q! ]/ s/ e* d+ k" ~# |
alert("no object found!:"+objname);
! x6 I1 F- c( V7 J6 g7 T/ q. b9 t }. G4 L) w7 U5 J8 @
}- P r2 C! P- I& Q
else
; _/ x5 N6 K( K# I7 u+ E. ?, R {
* h! } j. v8 |6 Q
4 ?$ s# [- {" w6 I, r' s for(var i=objs.length-1;i>=0;i--) , r9 B1 |2 z' H& l, u, {3 x
{
9 g5 { ^7 A" `4 K var node=objs.item(i);
% g, P6 e6 g x3 }# t$ R4 ? ' N* l& [7 ^* k7 @% \$ j
' W/ u2 s/ ~8 D4 \3 n0 r" G if(this.getobjstyle(node,"display") == "none" ||6 I7 T4 |1 S9 y% r- b6 @' r
this.getobjstyle(node,"visibility") =="hidden" ||
% z* U& C% z. b7 k8 x2 u parseInt(this.getobjstyle(node,"font-size")) == 0)
2 k1 K/ R9 J" m; @' [( M6 w {& p! |5 ^+ D$ _5 Q$ e: Z7 M) J9 h: T
if(debug)- {" K# G9 d9 S% \, ?
{
6 u& a5 t4 @7 H$ }% u2 e alert("remove invisiable!");
' g3 a, v8 k7 I+ @ I1 w z }- Q1 `4 C- t5 G& D }2 ]
node.parentNode.removeChild(node);
* d+ D& e' f7 D8 Z + j( Q- \+ p' a1 A
}+ r: H7 q" e$ c3 N) P" t* R
else / N1 W" o/ O9 B/ l. K4 b; H' o5 E f+ s
{7 O) P% j! j5 @
if(node.parentNode) ! q4 Q) a0 f" ?$ W3 ^
{/ Q4 W2 `% \7 ?+ ~: v- f
var orgNode=node;5 z' T2 b2 I+ E. |) V0 K
var orgColor=this.getobjstyle(orgNode,"color")7 _' _7 D2 Y+ ?" D d* f
var orgRGB=getRGB(orgColor); 2 Y4 I5 i+ T) C: Y
; _: q( u3 ~$ t6 g var parentNode=node.parentNode$ s4 l3 }9 V# _7 K0 I# s
var parentBgColor=this.getobjstyle(parentNode,"background-color");! t# V0 s; |# u, |
5 p, A. s0 E7 m8 e% x var isLast=false;# k0 M3 H* O1 S; X. S8 T
3 M3 ]0 ?5 f& w2 t
while(parentBgColor == "transparent")
$ l1 V- v- R* W {* g: M$ `! ]6 o7 d1 m$ g* x) K
' L7 Q! F$ R% u6 _) g
& I- F' _2 m: x( U1 D% }, Q. _
if(parentNode.parentNode == null)
/ Q( w, _" Z+ M7 Z9 {6 U {
- Y, e2 z7 v: T: j a9 m8 ` isLast=true;/ K# \7 E2 o9 {5 z# q# ?3 o0 [
break;
, s! p7 u0 Q5 j% X+ Y6 B) w }
2 [4 e1 O* M5 p1 `7 p/ H parentNode=parentNode.parentNode;2 I" E5 q/ B- ` r3 }
parentBgColor=this.getobjstyle(parentNode,"background-color");+ ^; }8 R) W8 q" Z
: C8 n9 ]; e% X2 M6 _8 W; e if(parentBgColor != "transparent") # f8 o6 W2 b' S. F
{. P( ]+ x! X& w: `# |: o
break;; S& T$ \* i$ O3 ^* K2 O/ A# U3 D
}
7 L* W# Z* s1 t* n }
1 T- j g) d, z, b- A- T9 R2 k if(isLast)
9 V% O) x; f2 g9 [ {5 i8 i% S- S. r- e
if(debug)( V. u u( M8 a7 m7 f9 ?. n0 F
{
4 o$ a% a9 g/ | alert("last!!");
- u$ Z* l) Z7 w& Y8 q& N) M* E }
- O( [9 q5 \# L if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
% v Z" N2 i! [+ u& e) f1 x {5 k. x8 |5 ~. H1 G- ? C
orgNode.parentNode.removeChild(orgNode); ( O F% G L4 e7 U0 U4 I: ?6 I+ \
}3 M \6 P3 _) w7 a7 k. {& c! H
}& W7 A$ V2 Y* M4 S4 y0 @
else, `9 ~4 T- ?* ~4 G5 ]
{& J1 ]# H* y; n3 T) a# j. W1 i
if(debug)2 s3 T% `8 x' j5 C }7 n/ W( T
{
; D& z8 C$ J* g9 i- u alert("compare color and parent bgcolor!");
: ?! M1 r* z1 T8 P( u# v1 O7 w3 L$ l5 ? }+ V" ]( t% e ?4 W( H) X
parentBgRGB=getRGB(parentBgColor);
1 z, }& W, Z6 ~- I- A. ]& p/ U+ V if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))1 c, b% P; R, O2 k" Z O: X
{
5 N* Q- h, L3 ^% `0 A* ]+ d orgNode.parentNode.removeChild(orgNode); . a+ i+ }7 Y$ z; A& @
}) x: d( h) h) Y( I7 e* O
}
2 I0 `9 |) k3 u4 R% ^ }
" e& Q7 ~/ T* J. _* o }4 \$ S! i$ }& I; h' l
}
8 r& Z# @+ E0 f }
3 `% N5 x( q/ I; |
; h: N- \" d* P+ |% x1 Y1 b
- F" @- x6 k- N/ g var itemFrames = page.getElementsByTagName("frame");2 ~6 i8 M) |8 h1 N. G7 ^
var itemiFrames = page.getElementsByTagName("iframe");
5 d1 @! J& [' |
; ~) p1 C3 R$ s& T# N) o7 F1 e var frame, iframe;
$ I9 ^: B. J2 V3 t3 u if (itemFrames.length > 0)
8 g1 o2 B/ w4 h {8 R2 ~# H# f% t% q
for (var i = 0 ; i< itemFrames.length ; i++) " B7 D, q# p+ C$ h
{
. [' H& {. X- W' G& R frame = itemFrames.contentDocument;
# k5 _# Y* y* x: n; u, w! L; B5 E this.RemoveHide(frame,objname);
6 Z4 H, C J% N+ Y. U) Q% a: R/ p }
0 n% q9 w0 e$ } }4 H; ~. o9 V+ K0 ~" v& Q
if (itemiFrames.length > 0)4 _% O" r u" a2 B/ ]
{
' r2 L! W- l8 n, B for (var i = 0 ; i < itemiFrames.length ; i++)
" Y6 @ h2 Q. `: d7 |% J8 M { v4 |$ t9 a/ U+ k
iframe = itemiFrames.contentDocument;6 @# o; G9 k* `
this.RemoveHide(iframe,objname); - o% m) U! ^# h6 ?5 Q3 ~
}6 P0 y1 H5 V9 s& X6 ~
}0 X7 R4 S3 s/ l0 _; a1 T
}6 g3 r4 H. i# G
catch(e)9 H' ^1 ?7 O# D) U3 S9 ~9 N
{
( I5 n2 U6 N1 i7 T& k! u6 Z if(debug)
( s) {& V0 q8 E b/ @ {
; K" r; P& t1 R alert(e.message);4 f. s6 C6 H E1 Q% S" f5 f
}, r3 y6 L# Q% _3 K8 i; v
}: r& q0 @# i& V( m4 S5 n$ Q
} F. G/ ^- ?. N! F4 U S
' d& L) [' I; E' c0 J}" M$ ~$ N' | W; P
' j; H8 A' A/ [, X
function getRGB(colorString). b4 f( l( w1 h# H* a
{9 f+ P+ ? L$ `+ h# V: \
var RGB = new Array;
* V$ i$ e4 S+ M& J var tempSting=colorString.substring(4,colorString.length-1);
& Q: I4 |+ e% @' u- y% [' G var tempArray=tempSting.split(",");! Q. O! o. t8 I* K
1 u7 Y* e3 X; v/ H! J$ R. V- q RGB[0]=parseInt(tempArray[0]);
' C6 J1 E% R' z0 S9 _8 o RGB[1]=parseInt(tempArray[1]);
4 P& p; v* m7 w RGB[2]=parseInt(tempArray[2]);
& p0 _7 N7 M$ e2 y7 f 1 z- i" |) U( k' ?
return RGB; J% I) W7 B+ u* ? z1 Y
}
& w# w/ I2 ]* m* n, dfunction keys(evt) $ @6 E0 A$ X" E1 f- y M) T
{ : n# `+ W1 d5 U2 z1 N2 L Y' Y
if(evt.ctrlKey && evt.keyCode=="81") , U. l3 \, y1 `, u. B
{
2 X- o) a' L5 E8 v1 c1 M$ X# B CleanHideObj.on(0,1);2 O8 p5 [, c# f: P
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); # r: ~/ [, k% e1 g
/ i4 \) H! D! t: K% p) ~
}
1 E4 w. B! A2 a7 A7 m# C4 t }
. w3 v, ~' Q, x$ ~document.addEventListener('keydown', keys, false); 2 W' l( X* Q, |' n+ z) t1 f
GM_registerMenuCommand ('Clean Hide',
: H" _1 E" e3 Z4 o6 Q5 [function(e){
4 C; c5 F0 y: x1 E' f2 J! RCleanHideObj.on(0,1)) D& i9 Z4 B" a; S
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");" z q* L9 L% K
});
, B ~0 W, m5 V7 r/ h |
评分
-
查看全部评分
|