|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ) }, N1 {; P# H5 ^+ z
! Q+ A" k- r9 \% u
火狐插件,用猴子
& a1 E: n4 v" z* X# L$ [( P6 q* h
4 i& |, ~2 _5 H" e3 C3 tvar debug=false; 4 Z8 U0 D6 o# s
var CleanHideObj=new CleanHideClass();& U( I4 j, a/ c+ U% e+ z
6 L) Y) y3 r% x, ^* E- y# A4 G
function CleanHideClass()
" T' g8 T" L) \{
8 \; M3 N4 C) ~7 B 1 w; G- Q# k H! m
this.on=function(id,bMZ)8 O7 [+ x. P0 j$ g, S% J8 R
{/ c2 M" K& ?) \" H# ^. r ?- W
1 h- \1 a0 Q( X. v: S8 a if(id == 0)
+ U6 w% A- k, Y: j1 q( i {
4 C/ f d2 _+ P0 {' W1 H var page=/* document.getElementById("content").contentDocument */document; & T- ~, Z, [. o! b& D! A- J2 q1 C
this.RemoveHide(page,"span");
7 G/ e7 @6 Y- I8 Y3 ?, D6 j f this.RemoveHide(page,"font");! H0 x1 J( `* z7 s9 G. O
this.RemoveHide(page,"div");
$ I$ |5 V! b- b9 Y @# o! K% w) T this.RemoveHide(page,"p");9 N4 h/ x; Y. n. t
8 q( G" e) R9 r6 t6 X9 t. |
}
6 p- R( { q( h5 N$ a : J1 j; d( A% k
}
3 h: J! v: A5 o! O; q4 l# i7 c this.getobjstyle=function(node,prop)* K! I, e- z- a
{- `/ M5 U! Q( ?3 K1 A
try
2 G; ?9 U4 ^3 ?8 {2 _, ~ {
- r4 q O' w* T- R; x return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);( L' I; p) @, b6 C5 z8 h
}+ ~3 {0 `. L" Y2 I8 E9 ]6 x$ t1 b0 A+ L
catch(e) g$ D" @, d: M* D
{
$ X$ X$ V7 Y" n7 m if(debug)
4 Z3 e& P9 ^$ y% Z N( s {' H% ^% ]: `" n' b. q5 o8 y" M
alert(e.message);
9 E5 L( [; j% u6 N7 o }
& V& _( g6 x2 {4 {5 R& R
* E9 i* n4 Y3 n U O* d% N return "200";
; t( ^4 G+ w0 D4 Q* [0 w }
# y) j/ z8 Z7 ]6 V4 r" i }) ]1 l' a: q- x; H! m
5 U: A+ ~6 `, ]$ {, X: w6 w0 J this.RemoveHide=function(page,objname)2 T/ w5 K, q6 q, @' h* P% F8 o" A
{. _+ Y% H& E }: W; S. h
try
" u! }3 y% ~. o1 r) V% X" G0 T {
) z0 B9 B. K) U4 t var minValue=15;- ^" A7 Z5 K7 R$ }! c/ Q! R5 R) J
var objs=page.getElementsByTagName(objname);
+ m5 X) I9 m* d. S' m0 q
3 M& i& t7 ]; \8 M if(objs.length == 0)
, {+ {6 |; L- g" h {1 Q6 v$ n6 D% y- g7 \
if(debug)
* m' R5 J$ c) i- b* |) `+ T! G+ a7 ] {
3 H- X8 Y3 P" p8 C. r6 A$ r2 d alert("no object found!:"+objname);
! }$ J2 I. s0 S! d2 Z" p }
# V& v2 b d) P8 E0 N: e9 g }" @+ S2 x0 k0 G9 w
else: S# P }0 v1 e7 V. Q# \# m! X
{
$ { J6 ]- u ?: B ?7 Z- q6 t
0 T& {' v% i$ v/ H for(var i=objs.length-1;i>=0;i--)
' g, m+ H& o6 S9 o7 T {
; L: E: ?9 g1 h9 ~& }& O& o var node=objs.item(i); * ? t/ u8 h0 _* ^' B p
# o* P$ j4 M4 }/ u8 z% A
) V2 b& {. `- I: R7 p2 e# g. P+ i& | if(this.getobjstyle(node,"display") == "none" ||4 d6 o) v4 ]) O) x
this.getobjstyle(node,"visibility") =="hidden" ||
3 [! }* N- _! z( G( }' B parseInt(this.getobjstyle(node,"font-size")) == 0)
* p s& O. v: U; K" j' O2 C7 m# R {
2 s5 l% P/ R: V. X4 r if(debug)1 O7 F! W7 s6 W* x& p1 S
{
+ \ F, U& [2 f5 r alert("remove invisiable!");
5 ^5 U4 B8 w6 X4 U }7 D, Y; B6 a/ }& D q0 U
node.parentNode.removeChild(node);, N2 ^0 W {/ N: {! e; m9 s
2 ~3 Q' P9 i5 G7 Q; c2 `2 o8 ` }
- s% @- h( [& |- i7 C% s else 2 ~2 z& \( z5 `0 S
{: S/ g& d. j1 q# h" J9 g
if(node.parentNode) " A8 Z1 T& ^1 C. E0 E
{& ?8 \( {# }$ B; q
var orgNode=node;4 }; |3 `1 v" @: \
var orgColor=this.getobjstyle(orgNode,"color")
, Y, c9 O" w4 X( } var orgRGB=getRGB(orgColor);
" c( T! C( j" m/ X$ H
- f! z: L2 S+ r var parentNode=node.parentNode8 p, B" L" y; Z- Y% j9 d9 i
var parentBgColor=this.getobjstyle(parentNode,"background-color");
$ R z% o! h# V% r7 \$ y & h4 s4 o; p) s
var isLast=false;; h/ O7 P# Q4 [- D
* J8 B7 r* X4 ~ while(parentBgColor == "transparent") + D+ j, Z4 S/ |
{
3 I+ ?% J2 R8 z2 r
4 B4 s8 m; D1 Z" @" y' h" X/ O
) ]- E' }0 F, R- b if(parentNode.parentNode == null)
' ]' K8 L- R! S8 ]% { {
+ O8 O( I- Y, @4 u( [( O1 S& \ isLast=true;
& K" Z4 A$ _% v( A2 z, c break;2 f$ T1 X2 T6 }! {! ~" L+ |+ A
}
W/ T3 U/ |5 {4 ]/ a" z- _+ K parentNode=parentNode.parentNode;! q2 D3 A0 Q- ^0 w) C7 n M$ j
parentBgColor=this.getobjstyle(parentNode,"background-color");) R. r! h2 x, c5 ^( u7 y5 A
* M8 ^) s X e' \5 N& S if(parentBgColor != "transparent")
+ ?: C/ T( J% a' n7 T { J* B$ J8 A2 U- f g( f0 M
break;& J6 \# ^# y: q5 p* F3 k
}
2 n$ r4 u5 ~1 z' ^- U }
: T5 C; j, Y% b9 m' [ if(isLast) * \8 ^( M+ b4 y- y! G5 z2 h
{1 K* Q* P4 o1 ]6 J( h8 E
if(debug)9 \) `6 \' z: k9 L! L
{" K B- A8 i: ?: t2 j4 y6 |7 g+ y
alert("last!!");
1 M5 \* `$ g2 v: y/ h* |& C5 Q- h }
# W" O1 W f' [; v' H if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))( n- U8 ~, ?# H+ q3 P
{
; y! c0 q- a) Z$ A7 i- i! W orgNode.parentNode.removeChild(orgNode);
z5 U/ } A) Q$ i4 d5 @# {% m9 [' ~ }6 n" E$ V5 }' b8 T7 L# P8 y& W
}
% e+ ^1 K) i+ ^( v else6 W! y1 `& j3 \* w/ Q
{5 {1 `! X# o }! l
if(debug)
- u6 E& A z( [; `& ?; g {3 _& f2 d# o7 m
alert("compare color and parent bgcolor!");
* e; b. r2 Z8 M$ Q8 t6 j }2 @( r$ l) k+ A+ ~7 x! Y
parentBgRGB=getRGB(parentBgColor);
# k% W6 z k; ]5 Y4 A if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))4 ^8 a* g- K6 _! G1 t
{/ Z$ _7 T5 y! L3 B0 M" ?5 Y9 \2 v
orgNode.parentNode.removeChild(orgNode);
5 \# g9 J. ~$ x4 | }
* B D- W# @2 h }
4 {$ C* f' E2 o& R }
. @. C1 ]5 K: b% e }0 _# c" |' W. |1 T
}
3 v% t! i7 Y' d0 o0 O4 \' k! S9 U' A }$ o9 H8 F/ M/ \
1 L' c# U# A' E- ^; q. h
: t# J \6 A( Y% E3 N var itemFrames = page.getElementsByTagName("frame");
& c, |, x6 ?! h# A& W3 `; P7 n var itemiFrames = page.getElementsByTagName("iframe");2 v5 k/ u3 Y) S9 T; u9 z/ l
' l/ ?9 L% n( Z" I/ Q var frame, iframe;" a8 l6 p# C1 Z7 k$ C
if (itemFrames.length > 0)8 }3 A6 C E( y
{
" U; P7 Q1 f W$ _% F for (var i = 0 ; i< itemFrames.length ; i++)
0 m# g& p w' _) R D {
; j# U+ B+ \* f) g- s- o' B# m frame = itemFrames.contentDocument;
1 Z% h1 s/ c1 R" k this.RemoveHide(frame,objname); # K$ m6 Y- g7 I5 N* i" G- p3 K
} ] G7 C0 r+ n; g$ z1 W
}) O9 H* ?; k* X
if (itemiFrames.length > 0)
6 s6 A9 b$ y% k( i+ L# p( E* @ {
* N7 j5 _) P4 o- Q7 S$ o& Y for (var i = 0 ; i < itemiFrames.length ; i++) 6 I- U3 c0 ?' V2 X
{
* H0 _2 g1 w+ j+ g E# h& [ iframe = itemiFrames.contentDocument;
: o) \# F% W+ z/ C8 C this.RemoveHide(iframe,objname);
1 F" B; t# n7 A8 H9 R+ M' |$ j% w }
9 B( e/ y/ n9 @% h) ] }+ E. ~* M* V, U0 p% x
}' {* F. V( a0 P) M
catch(e)% g' l5 o3 Y9 }. q+ W
{6 H% ?- O' A5 E
if(debug); d9 @% J9 `+ I
{
0 }5 |. b. v; ?7 {" c; W7 z alert(e.message);
, i) i, w7 V8 U, |0 v, O V0 [ }8 M p& o" N' L% @! T0 ]- x6 h
}
( ^+ Z# f( \7 n }1 w2 D) H, {& {( h; g7 m
6 U( J3 T2 d0 J; T/ V+ C5 L' N}
# L) r, X6 `' u/ L
% w# \2 m" q3 E6 E/ P/ @/ F, K- j( Vfunction getRGB(colorString)
b& }7 C- P" l3 [- j; K' o{7 a* o2 i6 E: `- h; [0 I
var RGB = new Array;
( o/ ?+ I" Y) l var tempSting=colorString.substring(4,colorString.length-1);5 O) B4 x/ `7 ~: y5 X/ L2 p
var tempArray=tempSting.split(",");
5 G# [5 d! _. J- N8 G7 R& G) S5 M9 ^7 ^$ c4 P
RGB[0]=parseInt(tempArray[0]);
7 o, A8 H" m$ {" Z) U9 j# W/ i4 L RGB[1]=parseInt(tempArray[1]);) V/ L4 {! B% |( s! k5 N
RGB[2]=parseInt(tempArray[2]);6 f' E2 [5 S5 ~1 N7 Z" v9 `; z
" v8 C, m+ }% G* @8 G4 r: y3 B" P return RGB;( k/ j% N @& d9 ]
}/ t, X9 i; x# p( W9 b( l0 X
function keys(evt)
# c$ ^/ r4 U9 e& D# A% j0 q { 7 ?. P9 w" V n
if(evt.ctrlKey && evt.keyCode=="81")
, @4 S8 ]/ C3 u9 l% [$ C {
% E) k8 t) p6 Q2 }" t% q CleanHideObj.on(0,1);1 Y% n7 F/ R) i. i* \% P
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); $ n; u W: X2 r0 a; }* }
* K2 P* t. T# @ {( U0 ~% h
} / p- ?: J: G# Y! B' t9 |
} # G' |" d, k5 e$ r- p: ?& c
document.addEventListener('keydown', keys, false); & a6 t( {, _4 j$ i# ]$ o
GM_registerMenuCommand ('Clean Hide',( w, H% j& w$ Q5 ? T+ r& T' [ N
function(e){
7 g) a; ^9 F8 L2 x/ |CleanHideObj.on(0,1)% G3 D% ]7 v9 R. w" c
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
% A( i" }9 \, N5 K w' f9 w});$ Z" P0 S d# U. V6 _. p
|
评分
-
查看全部评分
|