|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
. ~8 @7 V5 e: |* E( t) v; Z- S5 G4 x, L! c" `
火狐插件,用猴子7 o5 A& `! y+ y ]
2 F! H+ k: v0 D; M0 M- T
var debug=false;
- \7 w8 q% [* C* p/ yvar CleanHideObj=new CleanHideClass();
* J9 P2 {( U# `6 @9 C, s& _, r h5 `# w7 K m' a
function CleanHideClass() * M% H# V2 K2 b u* F {0 x; Q
{
4 z3 M# C$ b3 k( m
& b) r- A$ z7 m5 [ this.on=function(id,bMZ)
x3 F2 P) v3 J; A7 F3 @; k2 d3 x5 J {1 O" c, s; _+ x
* C+ A8 k$ U' {/ j# F" e f9 P$ l( L6 ]
if(id == 0)
. S8 z5 o0 R+ n& J" { {# p$ u3 s `# l$ @: y
var page=/* document.getElementById("content").contentDocument */document;
. U; F9 Y/ a" k- `) X) H this.RemoveHide(page,"span");
, p' [! \% o$ z this.RemoveHide(page,"font");
( C# T8 g3 P1 q# M% W this.RemoveHide(page,"div");
: A3 ^2 \9 Q, j9 _! K this.RemoveHide(page,"p");
' T: ]3 x$ m; `* N
2 ?- E. O" \3 g }
2 Q8 P2 H# w% N4 r
7 p- X5 i' U+ O% t, x }
) d2 ?* {4 t9 d5 A4 O this.getobjstyle=function(node,prop)
1 S ~, |9 V9 W {
4 D3 y" g8 k E# | try
, i! f0 l8 J5 R+ c7 J {
- d7 S0 E+ A6 c! A5 K9 E( g5 t# T+ H return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);1 J, t4 n: H+ y4 _! Y1 D8 ^
}
& M9 j$ R$ R& L9 |( V; M8 t6 p catch(e)6 c# x- J; [% ~) e7 T. M$ e. w
{
, Q" y* O4 O: @0 b if(debug)
X& \; k5 A2 m$ ~ {4 B$ @9 k1 m3 Y1 V6 v# B# ~
alert(e.message);1 A4 A; A1 v& O& d9 K
}6 z0 y1 d. `) A
: M( g" ~% ~5 U) y7 G3 w8 g
return "200";
5 O; e1 o' X* P. Q' ] }, W! x0 M* B- d# \
}
2 Q* e) O$ m2 R& V4 l1 O2 ^: A1 e8 c : h1 |/ T3 ^$ t7 Q- |) Y. c
this.RemoveHide=function(page,objname)6 d. X% g9 {7 o0 L
{
+ B, ^( G4 k" O0 T. c2 R, ^ try5 L9 i1 ^# N4 P& Z& ]. o" C1 v
{
& I: E# L4 D' H1 R% L5 u var minValue=15;6 {( J) h! H- S7 r
var objs=page.getElementsByTagName(objname); % T, G) V' \ C) c* F k& \
* y" R; F+ I- M/ }. e
if(objs.length == 0)
* \* D# m& b# s' f {
1 M) E/ N% a: [ if(debug)
P( ~. c) B5 w& B( v' _& d {1 q- w9 K; [( g J0 }
alert("no object found!:"+objname);' o8 {, H7 p: E0 h
}8 Y7 s4 Y# y) t- R! D2 D. \& w3 u
}; d: M; @: c2 L% c# T: q
else
8 }. @! Q# `* b6 x5 Q0 S; N {
& Q# x& v9 h/ o O0 T
3 \) s( }. h7 {) Z ^7 b for(var i=objs.length-1;i>=0;i--) & r8 n+ v6 |, N' p' r) M& \2 S5 E
{
5 `, a* f+ F+ e6 g var node=objs.item(i);
: w7 T8 i7 Y1 a" _ 2 i' v5 u& g2 U! F U1 ~
- _% G0 d( e/ A$ i+ Q: \9 x5 L
if(this.getobjstyle(node,"display") == "none" ||4 m$ i( I8 G1 r2 ^) ]* D
this.getobjstyle(node,"visibility") =="hidden" ||! K, P3 ^! T! B( D7 S/ L
parseInt(this.getobjstyle(node,"font-size")) == 0) * J# e$ r" J6 I7 l/ [* M4 t
{4 a1 e2 }/ d# B1 a! \5 s
if(debug); d, V" ~5 _% k& n! I! L
{
# c& [$ ^! i6 p' c& B# r alert("remove invisiable!");
4 ^9 L4 Y, Q( Z }" v- ~' H0 S( J% P
node.parentNode.removeChild(node);4 Z+ J' n$ p8 Y
$ X6 q) A8 W) P. j; e* L+ [ }2 b0 \' o, A! o- L8 z% T5 y
else
9 E* G% Y+ e# M' h {% b9 c# x4 R7 v! A
if(node.parentNode)
! J* n% ]# G# W# e5 V { n3 Y: C$ E7 y/ `/ l" a! g7 ~% B
var orgNode=node;9 C. n& E( d5 [3 m
var orgColor=this.getobjstyle(orgNode,"color")- t" O- y& q( E# ?0 x) E- I" X
var orgRGB=getRGB(orgColor);
9 |1 p2 }, q0 F! \! R0 o% u
7 g" I% s' u* s3 C c" K; Z0 C; O var parentNode=node.parentNode% P: W! U5 _/ q4 W6 G
var parentBgColor=this.getobjstyle(parentNode,"background-color");2 p( z- [8 A8 f$ a
% _: P( w+ N& l7 _' L6 h$ ?" G var isLast=false;8 q7 N; Q, R7 ~- S, ^ l: x. F, z- _
: V5 D5 B. Y( y2 A. T8 V
while(parentBgColor == "transparent")
3 F" @4 v+ r/ u6 n4 @: J7 i6 ] {; X" U$ A2 `2 M8 @
4 n% X$ v# K' v) o; r7 i( ?; v) G
, w8 g+ x: [; D6 P& ^ if(parentNode.parentNode == null)
$ h/ ]- g0 p3 A$ ]" i {( l' j% o9 M) G2 ?# v; _
isLast=true;: c) e& N, r# d$ H& k
break;* a4 P8 q; ^' b2 f7 T7 i
}
/ D" D( t" o! a L& ]8 W parentNode=parentNode.parentNode;4 N3 z3 s: _1 S2 j# T; s3 z* F [1 I1 c
parentBgColor=this.getobjstyle(parentNode,"background-color");
" R: a; {9 l# Q9 X4 ~0 ^: Y; z3 Q- a! o4 B) S5 B0 W( i
if(parentBgColor != "transparent")
+ X6 S. T2 D* B S3 ~ t( u {
6 G2 E7 Q1 c K- s; z5 L break;
^. i. e7 H+ e& s }
8 X r# g' a5 k" Y$ ^ }+ V: Y8 V4 J3 N m
if(isLast)
7 i! D. Y$ J3 A# ? {) Q5 F' J: y; W+ a# M
if(debug)4 b& W3 L6 @& ]/ U' n
{
' E1 ?: I# X o# D) E# p7 s alert("last!!");! a% G l# M. z4 b
}4 q2 X4 B4 W4 k, j; [' l
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
' _, f% u" E* L6 N {
8 W K! Q2 @$ M) M$ K l/ @ orgNode.parentNode.removeChild(orgNode); % D8 H6 y5 W+ i m: t) \8 \$ h
}0 w- ?' w5 ]/ v! {( ~* \/ d; K+ K
}* x% T& K' M- P
else
$ b# M9 m( g, v% e5 E$ L {
: f& i; T% e# W if(debug)
, E# j. F0 [% p/ U) K j. O {& k( G5 C/ n) _- q
alert("compare color and parent bgcolor!");
' b! r$ v# b1 b, _. T# N0 G( O h% O: b! u }
3 O. }' b2 x3 K' y0 Q$ D parentBgRGB=getRGB(parentBgColor);
0 s3 T1 D! h+ D9 s6 v6 K- L if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
! @, q, a, B# y( Q% Z, D0 P {, I# L! w; Z5 F( u5 i8 f7 }' z
orgNode.parentNode.removeChild(orgNode);
2 n) O) _# }1 Y% ?/ Y9 j% \5 u7 |: I }
/ l' @( k7 B1 v& v+ |7 M }# u* |3 Z4 l- L G, r% P7 Z, o
}
0 ?5 s+ m; x$ J }
4 [3 V2 w; j0 L8 X& _# c( B8 @ }
! Z/ P$ y% ?6 C9 Y/ v' m' h }* S& y9 G: h+ O" L6 I
+ h' ]0 G2 V: `* V+ B0 z: F% Q
' W" R( U6 w( d0 @* ` `
var itemFrames = page.getElementsByTagName("frame");
- i) c) G$ Q1 Y% t& N N var itemiFrames = page.getElementsByTagName("iframe");
' ^' j% l W# O! ^9 e4 c! D, x $ O' p/ u- U ~4 m2 p
var frame, iframe;
- f7 `0 M- \% N9 h: C if (itemFrames.length > 0)
5 m( G! ~" ^* E) \ {
) q- _; f! l+ ~# ~" C$ c for (var i = 0 ; i< itemFrames.length ; i++) 8 {& n: ^3 B0 ]; {2 _1 P
{6 A5 d. u7 e3 q! S3 q; w
frame = itemFrames.contentDocument;
0 V1 U6 z/ A. J0 K( Q* z6 H7 I this.RemoveHide(frame,objname); 8 k: { R: V8 ]" X
}3 U) a# d1 b) u
}
) `# m- k, m) _. P. R7 C2 B if (itemiFrames.length > 0)
6 D6 z; `: p9 S& p% l {
& P, M+ d0 p3 p$ I for (var i = 0 ; i < itemiFrames.length ; i++)
6 p- @/ K8 h {/ o( `/ ]: ]" f0 m {, v2 @) ]( p1 ~7 D
iframe = itemiFrames.contentDocument;
$ w+ w1 c% o/ a2 m, } this.RemoveHide(iframe,objname);
: a4 @: T; j& ?& i" j+ \ }
& } V/ Q% x$ H+ i) {5 C7 q }$ o. U' [3 U+ l/ T4 \
}! ?) c( g3 u- C7 w6 h0 N+ t. w5 j
catch(e) ?- }% s: }9 j+ ]1 Y A
{
$ A) Y. F# G+ H% ?; A5 ~1 b if(debug), o* G# D Z$ m7 E2 N# ]8 P
{
* @3 r p8 R, K8 y+ R alert(e.message); Y) n2 c/ k2 u/ B) o& ^6 ~. W: _$ v
}
6 r0 G2 _! T( l& X }/ H# Q7 z: r4 e5 l2 S' A. t w, j# K' V8 x
}
' z- O& H5 x! m% F& p7 y: v ' ]5 ^3 g/ O; {2 o1 s2 w/ _' W6 J
}2 h0 q. u1 c$ d S6 E7 r0 t
2 m; S: r! [. p+ zfunction getRGB(colorString)
+ P; \3 v$ z2 j+ M{
3 T9 r; o1 O' W ?7 h var RGB = new Array;
' N& L! ~" |+ B- { var tempSting=colorString.substring(4,colorString.length-1);1 o. g [! c9 ~# Z8 \7 p- a
var tempArray=tempSting.split(",");
) X N* L4 z1 _- e$ h/ O0 r. \' q. h( f) |/ K
RGB[0]=parseInt(tempArray[0]);
, J# } X. L, h RGB[1]=parseInt(tempArray[1]);
: a7 ?- g+ d h RGB[2]=parseInt(tempArray[2]);
) U6 Y0 v0 K8 C; I( I
* D, W2 _3 s. R7 o7 {; } return RGB;/ A' q% {7 y+ r0 |
}
3 |+ W4 W: H3 y- t: Dfunction keys(evt)
# X6 T! W3 }. _ { : [6 ~8 t4 O% A
if(evt.ctrlKey && evt.keyCode=="81") 4 Y* B2 [, P' Q
{
- H/ Y2 b3 q' h" ^. K% m9 e* [ CleanHideObj.on(0,1);( O# W& M; S7 @9 T7 B6 K& z
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 1 R( ]( A$ m# D1 J4 P/ s
: i$ I* {; v W8 y } $ ?/ e' x9 l2 v) ~' g% F" |, @
}
- f" y3 m: t# [9 zdocument.addEventListener('keydown', keys, false); . ]/ y& ~" c) T0 N$ O7 C& b
GM_registerMenuCommand ('Clean Hide',8 R- P6 T7 ?% c5 {
function(e){
) g8 _! ~) Z1 Z% ]CleanHideObj.on(0,1)
Y7 J& A7 e5 v2 G# B1 N! p1 h5 Zalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
% c6 _- Y# t* X9 w) e});
& _' g6 j% J `4 n& g7 j5 R" Y |
评分
-
查看全部评分
|