|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ! _9 Y6 K/ h: H; }, r b* `4 T/ Q% k
5 Q% r0 c! z4 N# Q: T0 \
火狐插件,用猴子
% h4 J8 y+ s" L; |. M3 X# k- a9 P8 a2 x
' H% S( @9 Y8 j& a4 zvar debug=false;
; ~$ A* }5 D7 T( ^ N$ ?/ Mvar CleanHideObj=new CleanHideClass();' z$ n: g! d& b. l
8 X8 @$ w$ d, z4 N
function CleanHideClass() 2 S5 _0 F! ]) l4 \- o, m3 A
{ ; h1 B4 {3 I4 l$ P
" U" Q6 b" r( v$ H this.on=function(id,bMZ)
$ R6 L! _3 S# e {8 X- e4 R9 l( \8 a! b: @$ l4 b
1 K& s& ?7 i) { u$ Z1 f8 P if(id == 0)
# d3 k: l$ I3 |& J {6 w5 D) N& x9 W( K; ]
var page=/* document.getElementById("content").contentDocument */document;
% K. b6 q& c; H$ u1 s* X, Y this.RemoveHide(page,"span");% f( Y/ @8 c2 `$ z/ H' \. @
this.RemoveHide(page,"font");
/ B" t4 h* o0 K4 B8 j5 K2 T' O this.RemoveHide(page,"div");3 t# d& O, b( C/ K A
this.RemoveHide(page,"p");$ e9 H6 a N9 q& [" \* X
% E1 |# t& X- j+ R8 D' Z
}
0 G: h- _! @, n
- L0 R8 \& _( y7 r* ~ }; f* r/ X' _. F
this.getobjstyle=function(node,prop)& F# t1 S2 N3 I4 [ `! o s: p
{- X! d0 }& z% `% Z3 x5 H( e
try
$ K8 k$ j" U9 d1 R" M9 L& g1 q {
2 a* E8 c0 P( G% E* q return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);# h' q2 R# W, O9 b' P+ M: K2 @: t& T
}& L3 m- j7 ^" |" B3 O
catch(e)
4 ]; d6 ?* B! _4 o {, X' x4 L* g3 n! {
if(debug)
& a/ C% ] l4 s, v {
8 I* j/ F$ z, ? {6 w# L; | alert(e.message);6 |0 d* s5 N0 ~. L. Y" k8 ~+ j. _
}
: R. p* j( s: ?5 `6 d# h1 \ * \7 F+ ?) p1 ]# @( m
return "200";
! B2 S6 Q9 p9 G4 e2 Y" }0 [+ } } z2 _; L1 W8 {8 J! q- F
}
5 c, i; {9 s4 b1 C% } . K, \: n1 a2 z9 {! [. r
this.RemoveHide=function(page,objname)
* J5 i; s+ W, ?! A {0 B( z' J$ N9 B
try: M4 Z3 J; d' C+ G1 z
{+ G' d, r1 y ^
var minValue=15;
4 y4 a) Z$ c& P1 F+ g var objs=page.getElementsByTagName(objname); + T8 l# a9 m2 b0 v0 y" a3 b
0 v' E* O, S' l1 E) g2 l if(objs.length == 0) 4 \- ~6 g- N( _) b }0 ?
{
1 o/ {- M& u& G4 |, E& ^% u& v if(debug)
8 J- a2 @( f, D. L {, D S% e$ U# N% U" E5 u
alert("no object found!:"+objname);
. W- J4 K- n6 S }! K: c" h8 q+ x) x5 p. y8 g
}
* D7 |$ @0 d& t# c, w& P else
7 T7 {1 D" j! Z' Z {
) C0 u+ }- L! t- j2 |4 s4 k9 I: ?
. E4 D) \# J6 T' l* G for(var i=objs.length-1;i>=0;i--) # F5 s+ | m/ ]6 @ C
{
$ J0 m, J8 c. E8 e- R var node=objs.item(i);
0 J4 ~ `3 q; h+ Y
4 f$ {: ]: t' ?) M0 j/ U
* X& N- g( W3 K! c, h! ]- u) A if(this.getobjstyle(node,"display") == "none" || ^2 @& P2 Q9 S% ~" {& U2 K+ ~
this.getobjstyle(node,"visibility") =="hidden" ||( k+ [; r% ~7 B- N
parseInt(this.getobjstyle(node,"font-size")) == 0)
1 z) r. k% }) z. l8 {- h* h" S+ E) l {
+ R! l8 j/ R B0 ]' M- r2 A if(debug)
4 _$ i" h2 A& p( b {
6 ^" B% [) a/ F8 i" I9 G$ } alert("remove invisiable!");3 `7 w- i' ]6 P5 d" ]; F
}$ c& @* R5 }2 A( f: I
node.parentNode.removeChild(node);2 G0 G: o% \$ p
# Y8 P. m( r2 d$ [
}
! b8 [. b( N9 j; h+ U5 y ]% z else
/ U8 a( U r" w) L# Q: | {
5 @+ W7 s$ R' @ if(node.parentNode) $ B- Y7 ?' ^3 Q! h& A. w+ b8 p
{
% O( V F9 o- Y: D% E var orgNode=node;2 \/ O' i# Y8 S2 y l
var orgColor=this.getobjstyle(orgNode,"color")
2 q% [2 y J& f, _6 D var orgRGB=getRGB(orgColor); 4 B( W; \+ L7 f: i- h
* Z6 B5 h: @/ U
var parentNode=node.parentNode* l. U W) P7 O* K$ d
var parentBgColor=this.getobjstyle(parentNode,"background-color");
3 u0 o) ?7 f! x/ |) s9 Z" S3 M 6 p9 t$ _ M8 _6 [# _6 \% e% U
var isLast=false;" P3 k' o& v/ e' u
5 z& U/ d* ~3 h7 i, Y" ~0 _8 f# x while(parentBgColor == "transparent") + C! T$ F3 ~- l+ g- u! B5 j
{. R5 ]5 @0 [, E& r
& e, \. w5 X# I- |4 { $ w( G9 Q, F% p3 c5 k, U9 H5 R, g
if(parentNode.parentNode == null)6 q0 r2 q$ W: R; D" X- D, J
{2 U/ K! I% B2 I4 l) W/ O
isLast=true;
3 T/ |8 ?4 t% C% p( J! C, y break;4 q( I$ x. O2 v8 V1 L9 q+ S6 h: D
}
1 ~. G6 A$ k7 v- d5 Y6 Q parentNode=parentNode.parentNode;8 j6 E! h2 v& j/ j1 @& Y y; z
parentBgColor=this.getobjstyle(parentNode,"background-color");& ?/ f8 k+ V5 J% B, P6 O2 R
. U v7 ]! m9 d7 i
if(parentBgColor != "transparent")
d& o" Z" N3 S9 l {
( b& U3 R% \; z6 v: ` break;
' s1 h6 Q4 N) Y9 x3 o }
- L3 ], M# M" O Z' a3 L: u }% o! s1 A" v$ N$ W, `
if(isLast) * z% O2 B" c0 N5 i ~+ @2 c
{/ ~! b: N* n) }+ w8 k1 _
if(debug). R! D1 c1 c2 g$ X. j0 f. k, G! M
{+ x2 G( M) C' O- h$ c! A) @
alert("last!!");
0 C( C) k3 ~0 v8 P }9 ?8 H3 [8 L4 L! D c! U6 R5 X+ l
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
! Y+ }+ O: o% N) q4 n, t {+ q. A9 T- p) X4 Y
orgNode.parentNode.removeChild(orgNode); - e$ g! i$ y8 ?: {% y- t
}' o) Y5 D- X% D' }0 }6 a
}* h9 G& J& ^3 V! W" u$ U) D. e
else
7 B+ u/ {3 A4 D4 W6 q" | \ {9 _! \0 Y o+ ?- P" i+ n
if(debug)
' I0 G$ k I8 B, N) }- ?1 o {
% ], w4 ]5 Q! H' K, m: ~: K' J alert("compare color and parent bgcolor!");7 C" V w: ~6 ~2 ^0 D6 t0 {
}
5 Q9 s- d5 D% W" \% K3 F, t parentBgRGB=getRGB(parentBgColor);
* H4 \. k- w+ S if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)). o+ O$ h" h4 Z# {( D8 ^, y
{
! ?8 i3 {) Y+ \ ~. p orgNode.parentNode.removeChild(orgNode); $ p" d8 \) C7 g# v9 J/ |3 y9 F3 w
}, R( b$ [! v1 x
}/ t5 {* k ]# j9 l( L' {6 M
}% }9 A* }1 h ^% g" d
}
* r# i0 ?1 W# z2 X6 O( P; C }
. |$ D! U& r; R: {, v }% r& g5 J9 Z7 ~: w% B% Q4 S7 F8 Q
! i) n# e6 }8 s 9 E6 H5 ^# b# Q- `6 i- C
var itemFrames = page.getElementsByTagName("frame");
; E4 @8 h* e4 l4 B var itemiFrames = page.getElementsByTagName("iframe");
& [2 v) g: o* n7 l$ E
+ c. V& V9 K& ~4 [* m! S; W var frame, iframe;
2 b C! t; l- x9 D; D if (itemFrames.length > 0)
0 ~6 T" I3 I! b' P1 t; W; ? {4 ?3 h l4 E2 L! X) t
for (var i = 0 ; i< itemFrames.length ; i++)
: H' i3 y0 ^' O% G2 C {' U: c& c& l8 Q% f
frame = itemFrames.contentDocument;
7 ~5 `9 J4 r! y4 f) T! k this.RemoveHide(frame,objname);
! n9 g% J. s( p- ] }. [) L; x! u: d: c
}. K( ]0 E. D s! N7 M" d
if (itemiFrames.length > 0), i* K$ f# b& @/ j
{
. n/ G' }+ ]: u p- R" _ for (var i = 0 ; i < itemiFrames.length ; i++)
3 {# s5 t8 ]$ \# B' W/ x {0 i, M2 Y: Y/ f# x0 Z
iframe = itemiFrames.contentDocument;
8 \, A/ l- r, Q this.RemoveHide(iframe,objname);
+ x! z' h2 b. j) n% S \8 M }
. C; E; S/ ]. z; V1 E }: w* E% L, @1 I8 { \0 Y# ?) @1 C0 P
}5 |4 J6 y1 X3 _
catch(e)1 U5 h. M% H* F2 n" b' |
{6 S; ]4 d. H( D2 g3 R2 s; P
if(debug)
' Y Q0 R- H" [& e {1 R. o1 Z9 Y% A0 q* p- z4 S+ Q
alert(e.message); j. m; X: y; Q/ Q
}
& ~5 N. m5 A* k& s! K% o, _ }
# G1 Y2 g/ s4 z4 w }
9 d8 N, c6 Y) Y u& R: ~$ {) f1 R* p' E5 ]
}! s' M% j0 p9 R3 r9 _& W
& G4 [( K4 @/ Dfunction getRGB(colorString)
" a6 z7 ]9 }2 k x! c{9 t' _3 K$ I0 _3 K
var RGB = new Array;
+ U6 d" p" c, C+ @* b ] var tempSting=colorString.substring(4,colorString.length-1);
) C+ h! {4 }! w$ A9 p var tempArray=tempSting.split(",");
* e! a! w- |9 J
6 I0 Y0 M0 B' I' ]# `4 }" c RGB[0]=parseInt(tempArray[0]);' C- Y R) N) y" ^6 D$ ^
RGB[1]=parseInt(tempArray[1]);' s8 G# L. O u! E% q: a
RGB[2]=parseInt(tempArray[2]);
9 r3 ?* I; |9 P, [+ K9 F / V8 m$ n. X. X2 U& y
return RGB;
( j! _ D7 l% m6 F}
9 H$ D; i+ i3 ?, n! ]" \- cfunction keys(evt) 3 @7 Q2 j2 G5 ~4 n9 g$ B/ C+ K
{ & x* w9 W$ Q9 O9 c5 S! L# N
if(evt.ctrlKey && evt.keyCode=="81")
/ V) K0 t% p& T6 u& c8 v- w' P { ) Y' {. K6 r4 G- C- ~: K" g- W
CleanHideObj.on(0,1);& W4 s; y: |, A, }! r- T+ R
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
, |4 k1 C. {7 y+ L4 D. E
/ r$ N2 G) G( J. ]' v3 X }
1 d' r0 n6 `) M; l. ^ } 0 W4 h. x* |, u ~/ R
document.addEventListener('keydown', keys, false); & o: m7 T; K4 e: K+ W
GM_registerMenuCommand ('Clean Hide',- E0 Y) p! d6 ^! p
function(e){
) \6 r8 n5 _8 dCleanHideObj.on(0,1)
/ h& q: \" U. C& yalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
) z9 {8 b G3 D1 m+ p+ V: S P});
J7 d+ T) s* I. {# d7 \1 M/ ~ |
评分
-
查看全部评分
|