|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 + ?9 k$ D) ?6 l$ G
6 D* m" w' N; q+ l. A- f& o1 F- l
火狐插件,用猴子' c$ {- P6 n% _- E. p3 e
2 H; F# F! }+ a" @9 f' X9 Pvar debug=false; 6 S2 l4 w4 M9 b. [
var CleanHideObj=new CleanHideClass();
; h( f j+ O j
! O8 |8 P Y; r5 u$ O Yfunction CleanHideClass()
6 m$ s2 z/ R" R2 j1 S- Z{ * V3 T1 ~. \0 Z0 ^9 P
5 Y) g+ m1 Y0 B1 S this.on=function(id,bMZ)
3 K8 z U6 F, L {5 G, [6 `% G w
2 G4 N8 }6 f3 N5 P- `. {1 x if(id == 0): f3 `8 r5 f+ e1 x
{
- G4 t5 [* j4 j% A5 c+ U var page=/* document.getElementById("content").contentDocument */document; ; v2 S: {% T% Y" W% q
this.RemoveHide(page,"span");
$ {: |' F! A, s) m this.RemoveHide(page,"font");
. F' n2 X0 \ W. s3 X/ |' m/ J this.RemoveHide(page,"div");
, [# c/ w: k0 V7 \ this.RemoveHide(page,"p");5 |& _* P/ P- P6 Y2 t. p
9 R2 F' R1 J0 e% w }; h! l, p% Q9 r" l# q* V
. o ?5 P' ]( i1 {7 F5 a }3 p0 z8 w% T8 `! B9 B8 }1 o
this.getobjstyle=function(node,prop)+ z: Y# B% m& z3 x, C9 O, _# S
{
9 c( F: h; ^; W/ Y; \- ` try: I/ N: ?: v7 K$ ?) M j! l
{( I2 ]! X8 e2 \$ r& M; m( \3 m
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);' M" T$ y4 @; }- D: K3 V) p# A
}
$ y2 P; t" n a/ B: _" H catch(e)' w1 J {; s! ]4 p$ F b* S
{) H- \. v/ t( d
if(debug)+ _/ I/ T7 T# [# h
{& P) |. H, ]) L+ [/ L
alert(e.message);
6 B" C$ x0 {: d0 {& I( A+ a t% Z }
+ V0 @4 C- V0 e- B, ^ * G. @% f9 i+ s/ }! M& S- c
return "200";
0 {1 t# J+ e0 W& c- o6 w }
9 }* t: L4 J1 N# Y* }) V; M! {3 g }
% n# z! \' O- ^3 r" a- e
2 k' V6 [. `5 I6 h. \% L this.RemoveHide=function(page,objname)! g( {3 G, i7 s; M" e* c
{
0 j! ?1 u. a5 e m# r# Y: A7 C) ~ try* `" w3 v: q' a7 z* \6 H
{5 r" J; u5 h) p- Y6 _
var minValue=15;7 u; W7 T* x, Z! G! [
var objs=page.getElementsByTagName(objname);
7 _2 Y0 D+ v1 x* _- v9 Y3 }) Z+ [" A" _
if(objs.length == 0)
i) ?) F5 D. A$ E4 R {
3 @ J, w X5 i8 B* x# ]7 x if(debug)& P' ^: J9 B# L+ Z: `& ]$ ^2 b
{
& N$ K1 y* w, b! w$ r u alert("no object found!:"+objname);2 d0 T# u* X1 A+ c# ?5 Y
} N3 Z( L) i; a+ H: K* M0 R
}1 z U- P4 C' r
else
. g; b% Q" N$ l! Q) n" | {
9 E9 G) `: q# O( i
) r( ?$ M. i0 P- H for(var i=objs.length-1;i>=0;i--) $ e5 S# _$ I( p# o- J% _, [) Y
{
5 x% I- ~! A. p) f- S$ L var node=objs.item(i);
; X) b: }- q& W. d% `
; H/ X$ o& ~; |6 e- s# x8 w* [
5 O4 x7 h4 t8 S if(this.getobjstyle(node,"display") == "none" ||/ O7 G1 T U# o) K/ W
this.getobjstyle(node,"visibility") =="hidden" ||6 y- [- q; l- r0 B; a: T, O4 ]
parseInt(this.getobjstyle(node,"font-size")) == 0)
R7 y: [1 b7 w) o- c/ O {
5 X: ?0 U3 D3 X% n+ X; h4 ~ if(debug)
8 g9 I5 x; J) N( w- i: } {0 d: K4 l$ f3 l
alert("remove invisiable!");
" r0 a. ^( _9 A J6 E }9 t0 j7 c! A7 y: e
node.parentNode.removeChild(node);
" Y7 D( E* V% _4 N
& |) p. B4 J* M5 u- ^8 F! \ }
- q" C% _5 \# ]+ J* u5 H else 2 R3 Q0 l( b! W' M7 O
{5 |8 D+ B; e% l
if(node.parentNode)
6 \- I7 z) ?5 X {" \+ i2 r9 \1 J; F& ~$ E. q- H, B$ e, I
var orgNode=node;- R8 d! W0 D1 {2 W3 h( q3 @2 v0 }
var orgColor=this.getobjstyle(orgNode,"color")
; @- |+ P" w m2 O) x2 N4 J var orgRGB=getRGB(orgColor);
. q# t( |8 Q X5 r( r# X1 E
3 d' j; _! K5 K8 l9 B6 u var parentNode=node.parentNode
8 L, K7 a2 |3 \% L8 T var parentBgColor=this.getobjstyle(parentNode,"background-color");
4 v# v3 Y* U( m1 E, ? , O b9 j3 v1 ?
var isLast=false;2 b+ W. g7 m9 F; M* |
8 G# j$ C3 J) R4 z0 Z2 m
while(parentBgColor == "transparent") & ]" Y7 f2 W1 C* |2 t. s" v
{
- ?- O5 l# F v
9 U# \0 h# w7 T8 `5 D) G & T* H& }3 G5 W5 I
if(parentNode.parentNode == null)# e/ d, }0 L8 G" K; O
{; d& Z6 G) r5 s, i; I6 U
isLast=true;# k0 C/ x* W- l! l; h1 U
break;1 ^& g& s# ?: y- S& ~* m6 u9 N, W
}
9 p4 @: n; L5 D- c parentNode=parentNode.parentNode;3 O( x3 N, K% e6 X) p$ T) H! T
parentBgColor=this.getobjstyle(parentNode,"background-color");7 P+ j% I3 ]! }3 k s
9 d9 O$ ^1 C( s# p" L3 \9 C. @/ A if(parentBgColor != "transparent")
+ Z1 ^+ A" g; J3 v+ } {. v ?8 D8 W* Y C/ P! J
break;+ E$ Y1 Z) P" Z6 o/ w& U
}9 w7 r) v7 E7 o( N
}
8 M/ ?2 k- D& H if(isLast) 1 l* R/ x6 t+ s4 B; Q7 x# ~
{9 z$ a+ @5 }" U; E5 P/ C* a5 I8 S0 e6 G
if(debug). T& D# X! `3 |+ l8 S
{0 }- [; m# F& K: j9 d( W9 Y
alert("last!!");0 K0 d ]) {' P# q. A
}$ v3 S( `8 i H$ u7 `2 f4 Y
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)), u& M# n* p% N$ H' }* i/ ~
{
/ F+ t. g: c6 @% J. y$ V orgNode.parentNode.removeChild(orgNode);
: I3 y) X: ?. _ S$ R+ S$ \% A! k) ? }& r- o/ W {3 W$ s) J t8 ]2 y
}
* g' Y1 `) H- L8 H& z" l else
+ M$ \2 r, F" b {
! w* f2 \! X9 A" d- y if(debug)
5 g; K0 Y- ~! Q* N {/ K& L+ U+ n/ {- f0 E1 }
alert("compare color and parent bgcolor!");; Q6 W% j3 b* X; {3 o4 d- e
}
! D e1 q. u3 k; j8 n parentBgRGB=getRGB(parentBgColor);; {& P i0 q/ T
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))! ?+ u; l. n& a- b" W. {
{
: B* x i+ q/ H* v( M4 d4 |/ g& w9 q6 @ orgNode.parentNode.removeChild(orgNode); ! F" m2 F& t) ^) N
}4 k# W M+ q& }- g! m
}
: \9 l8 z0 X& Z- R( \8 \ }
8 A& V3 O. U" X }, M# p1 S5 ` b5 r6 m
}
U1 t7 W* `: ~5 Y! R }# K$ b+ O" F% R5 x
% x9 N. z- Y1 f
/ Q. |- d; X, u; V0 r. | var itemFrames = page.getElementsByTagName("frame");
$ H: e& w, g; ?+ G% Z- D var itemiFrames = page.getElementsByTagName("iframe");
' h$ H) n* N7 U6 P5 t% f0 D0 x0 O % f& A ?2 M$ ^5 J5 d% h3 D! z
var frame, iframe;+ ^0 a" x8 }6 C1 G( q5 G; U3 m
if (itemFrames.length > 0)& P& J& S2 f+ f
{
8 Q' d. h, I j4 y for (var i = 0 ; i< itemFrames.length ; i++)
# z- L& ?( s. C) F/ a9 N {1 A @& o# j: P: v* Y/ b! T
frame = itemFrames.contentDocument;4 M0 e P8 y; R( e7 C
this.RemoveHide(frame,objname); ( d. O q+ A. V5 z
}: w* ^" T/ }3 H1 e# Q' U0 s* D
}& a5 p0 n( y6 ?5 q
if (itemiFrames.length > 0); B" @5 ~& {. |( m0 v( |
{
* r' W3 J: N; n# s+ m for (var i = 0 ; i < itemiFrames.length ; i++) 7 x5 A' y: ~2 M) W
{; z7 G, Y: X% B. a& H
iframe = itemiFrames.contentDocument;
& O; p; z( A+ S6 _ this.RemoveHide(iframe,objname);
5 j b5 u' r: o } D0 K( V* a) O. p+ L
}
) \9 { g' x. R" o! g }0 i2 V6 }. y0 A6 V- q- c9 r! m
catch(e). U( B6 p: J5 _+ q F# Q- \9 o# h
{: b% b" m, z% N" n
if(debug): s* F6 r/ X; \, f% I7 ]
{
' D# z# v& F3 U! {$ _5 Z6 u& } alert(e.message);+ ~ S" {1 Z$ g% S
}9 A1 c9 x7 _& B: U
}: z$ z, H1 K- y- N1 a
}
+ E% n5 m: ]6 }" C) O( O* S# z
3 \3 D/ j2 u% p* c1 [}5 r+ v3 t! E( y* q2 J
, i+ C2 Z3 J' I: c% `( B
function getRGB(colorString)
9 y; O0 J" ~! Z% p0 _/ j$ U{) X: x/ J! g( [ w0 o# @. j
var RGB = new Array;' T2 f# d& c" r5 c6 z; h' h9 @* V% b
var tempSting=colorString.substring(4,colorString.length-1);
% m) {' P% o, F+ I; G; \% P& R var tempArray=tempSting.split(",");
+ J% u; g; A: a. j* w: [
$ O2 h2 [1 |3 r' b RGB[0]=parseInt(tempArray[0]);
9 G: K& i' l1 d" ?2 Y) d RGB[1]=parseInt(tempArray[1]);. q6 ?8 p2 Y9 u& o6 G7 V
RGB[2]=parseInt(tempArray[2]);( o& |/ c3 b/ o4 r1 x/ b+ K+ C
0 Q; z$ u( `2 V+ t+ s" H# S
return RGB;5 y$ U9 K, ~' x7 L. I
}6 ]6 E$ g, w( g7 Q3 h% |
function keys(evt) 1 f9 D, x2 {4 Z r l* i- s2 ?
{
+ M q% ?, S$ E9 R# Q. `( {! w: r b if(evt.ctrlKey && evt.keyCode=="81") $ j" d+ H) M, ^+ I# k. ~( k
{ 4 ~! F- |3 r% F3 x& L+ h
CleanHideObj.on(0,1);
% D3 F. c3 {3 Z* I* S8 }* U. v0 v( b alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 6 ^9 Y D l. v1 U; J$ ?
! r, |7 u. q6 ]$ u } . y l$ {1 s$ x* u
}
2 m! B `0 S* m; pdocument.addEventListener('keydown', keys, false); / Q4 \4 a7 P: z
GM_registerMenuCommand ('Clean Hide',
2 W" \& D% Y6 r& d8 b1 t) N# tfunction(e){
$ @, V/ X2 F) ], o) aCleanHideObj.on(0,1)9 N9 J5 G5 l4 ^3 Z8 t" O- q
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
# Y) f' s% T5 R+ l$ m});
/ `8 n: i% P/ [; r' r- T5 a |
评分
-
查看全部评分
|