|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
( D' F& ~3 z1 p% J1 b
% ~7 j% m' O0 K5 y) a1 x火狐插件,用猴子5 k5 I. c+ A8 p
: D' J; B8 G4 {! J8 T
var debug=false; 2 E) ^% |$ X* `/ k0 } n
var CleanHideObj=new CleanHideClass();- E$ Z/ x& ?4 l9 F9 N8 N# b K
* n& i- j! D! F5 Lfunction CleanHideClass()
, |3 \3 P4 h; i9 F. B1 n" \{ * [( b: R' m& u) @
! {3 h3 f* H9 g4 c
this.on=function(id,bMZ), X/ c1 n5 }, q* ?6 A
{% y4 Z7 B# l- i) S8 I
4 T; q7 q' q0 U
if(id == 0). }" ~6 T: q2 @3 `
{
2 n g' r. ?+ |; Q var page=/* document.getElementById("content").contentDocument */document;
5 a+ P) ~, N0 J) i1 D% o- ^ this.RemoveHide(page,"span");/ i2 D; \+ m6 x4 t* R/ Q O
this.RemoveHide(page,"font");
, E8 E2 a* f' h/ J this.RemoveHide(page,"div");
+ i* z$ a" l0 H3 _ w7 {0 b! n this.RemoveHide(page,"p");" s# H$ e5 n G# |' s
4 M) ^& f2 s2 t" l5 q+ Q }' C! @# X1 L2 K4 k5 x$ C* L
1 Q7 F) e/ n. z1 Q; ?* s6 `: v }
; o0 j. V! A0 r" A& y+ U) N' } this.getobjstyle=function(node,prop)7 I! v4 M2 Y* k& U/ p
{ P7 p2 j: y! @; r0 W
try8 d8 v) e9 @0 i; |/ `+ s
{) y! Z' E$ j/ F+ K' F$ E
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
- y- a4 Q+ |$ N6 J& a2 l, _' T }: N+ `$ F/ t; M/ n
catch(e)
9 h) U0 \5 B: U0 q( ^6 e {
/ V- U+ _% B0 i9 V; A6 K/ W& E if(debug): C' z8 d& P- p% r
{
2 g) G2 i+ B1 g% Z4 N alert(e.message);
: n( M5 Z6 B: z" U0 G- } }9 h* F1 i z& G- g# }6 V: l
0 U: w0 G2 C5 r; H return "200";3 P. n' i- i$ C) i3 r1 k0 G. d
}
$ B1 \& N0 f0 f7 e H4 g6 j }, g* z; J; y6 R; C% J6 H
5 _' i6 J# B- x7 }3 d* [& d this.RemoveHide=function(page,objname). [% r6 D4 G* b5 B
{
7 B& x) T+ H! |; h5 _3 u# v1 l try- i* Z9 \$ b; c/ I
{
: D. P* }3 H* q+ g* K var minValue=15;
, K: R, i) S* F% }- `4 j% J: Z var objs=page.getElementsByTagName(objname);
; |4 F1 `, p* l* B0 g' L8 Q$ d5 D1 j* K' A
if(objs.length == 0)
* ~ O" {5 k& X0 n" w+ _- E" V {
0 d/ n Y9 T# @- h+ ?* m( b/ M if(debug)
1 q* {/ f% c4 _% z- P {! m2 Q0 z' ?& Q& W
alert("no object found!:"+objname);
% {& n& p- ^. c _ }6 E' {6 w5 q% z: o. E2 F
}
1 z8 K& g+ a9 I' o, e else
# y) t" y: M( v1 ~. C {7 E+ g; q3 U$ w: C8 Q/ z' {
; M. t( H) P* t! h M+ X for(var i=objs.length-1;i>=0;i--)
& ^4 `. ]- w3 @4 o( {7 w {
8 s, F1 n8 E; f! [5 c! L! L var node=objs.item(i);
' b& u7 c* l; U5 _( w
2 G' K3 H* s- u6 E3 \. K4 q3 l7 H3 w
+ v# [2 V w: p4 I6 e0 }4 x8 D if(this.getobjstyle(node,"display") == "none" ||, u! X' M0 V; w; d9 W
this.getobjstyle(node,"visibility") =="hidden" ||
- P8 X& Q. ^/ g parseInt(this.getobjstyle(node,"font-size")) == 0)
$ p6 d, g% n6 E, [ {
, _$ y; }7 Y8 d) c8 L; ~ e e if(debug)
* g/ W) {2 n1 h1 z- `3 v) m W {5 B" I* t2 I& B* o
alert("remove invisiable!");2 V, \9 @, W. q5 A
}
7 Z; z3 `3 Z T( l p* y node.parentNode.removeChild(node);
! X4 E$ H; B/ U* P
: q5 n7 z7 c4 |$ R L. b }
1 t: ?' Q7 z. ~/ P- F7 x* G! s else 7 s* @) d$ L0 Q% k/ E1 Q
{6 c5 z! |9 v( {
if(node.parentNode)
9 f! f9 I4 o6 d# a {- @ s$ D. d0 k* j2 v' F
var orgNode=node;% U6 L, a; p3 e% ]
var orgColor=this.getobjstyle(orgNode,"color")
. z/ n* h: L" f* e2 {5 i8 v var orgRGB=getRGB(orgColor); ! K' r0 _! D& L( K& t0 `' D
' O, [9 |% z6 Y K( \ var parentNode=node.parentNode
2 r; I, X7 s5 x8 W' C var parentBgColor=this.getobjstyle(parentNode,"background-color");$ N: z1 y9 Q3 \& f* I& ^
& v& U, U% f: I+ A' l L var isLast=false;
) U& ]- P9 c6 j0 u1 D
, C) f. n4 M& W6 h! e+ m$ } while(parentBgColor == "transparent") & A3 g1 h, f% S" o3 X# b2 Y
{: S' |( V; N% l! N/ g! _
, {$ P- S. k [3 I$ {6 {
+ ^3 H7 c; Z' B' |+ `" s/ G if(parentNode.parentNode == null)
6 c4 t: K8 V# q' Z5 k* @, `! w {
( Y1 ]; J. V6 W1 I isLast=true;
! n6 T2 `2 B4 ? e8 } break;
; ?1 A; T7 u3 { }
: m8 J3 p7 T" T' `$ @ parentNode=parentNode.parentNode;/ @& A' ]. f) C% T
parentBgColor=this.getobjstyle(parentNode,"background-color");7 e- D- x+ b$ x1 o
) q, d; v s5 Y/ r) F if(parentBgColor != "transparent")
p% ?7 t! l7 E% ^( s {
/ B0 S( H0 g: ]8 a( b break;& s4 b8 e9 D' }& F g+ j
}
5 E8 r' g) H" }) G# R' \ }5 ] \6 q. m+ Y
if(isLast)
" U% _ a4 Z! `$ s {8 H# N. m! { g b3 p+ z/ _
if(debug); S+ K% B2 j5 T/ _
{
6 z& v3 N: N4 p8 G2 d% h alert("last!!");
u: A+ C( T2 ^ }% o6 G# I2 H5 x# e, B' I
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))+ e! @ P" t/ m7 P
{ o o, W* A; N7 r7 b
orgNode.parentNode.removeChild(orgNode); 9 T3 Y: ]: A1 }* Y
}
; O, k! c$ k5 }$ w/ L }
+ o3 o! M- [: C else
4 N" z' t/ a2 u: C* w7 K0 K {
0 q3 \8 o* F3 a! }8 T if(debug)
; ~. s2 m& Y8 c {3 o ^9 C6 T/ c, v' @7 ]( n
alert("compare color and parent bgcolor!");
. Y8 S ^/ [/ r/ K }" d0 X; \0 U5 `. g) ^( U
parentBgRGB=getRGB(parentBgColor);
; L1 M9 K0 ?/ y) X) | if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
" M: e, t& j7 N" @7 d" r {
6 g& k( o" W j0 {' O orgNode.parentNode.removeChild(orgNode);
2 i; T2 z6 |5 W& q. f& Z }, [( B1 X+ l7 P! a8 @; U( f2 X8 ^
}. Z3 O7 @% E: s$ G2 o8 f: N
}
: ?/ s. U" |: B [ }
: M, Y G" \, e }$ Q$ Q& x4 B1 u8 b# F- w. |7 U
}
. T# I! q! l, h( s8 f( R$ Q% }' Q ; O& G9 C+ V& q9 n' | Y) P2 U
+ |' @( X# H! W4 L. \/ a* |3 _/ M& ` var itemFrames = page.getElementsByTagName("frame");" a" w! \9 u! V$ E" h
var itemiFrames = page.getElementsByTagName("iframe");3 ?& [, l# @1 \" c& y V& O: ^
% H! x _# @: C' z( `! Q; t
var frame, iframe;. t2 i. E9 ?7 U T8 p
if (itemFrames.length > 0)( W" v, k7 y* B$ c r1 N
{
; a3 `3 `3 Y, ?% m5 o ~( } l3 ` for (var i = 0 ; i< itemFrames.length ; i++) # M; T% ]( K, x! e0 u
{
0 v$ T: ~1 l- ]6 D' w, t frame = itemFrames.contentDocument;
& K7 E X5 t4 P: _! s8 Y this.RemoveHide(frame,objname); 0 X$ L% g, |* J
}
0 s, y* f! _6 c9 H6 C) ? }
5 b ^) g. S+ \8 H if (itemiFrames.length > 0)
; F: v' `$ I; y ^% { N5 w {
& b. r' B1 e k. N# d1 P* v, V for (var i = 0 ; i < itemiFrames.length ; i++) 8 F; m1 M! e7 G( B7 x
{
7 g( K* {7 g. t iframe = itemiFrames.contentDocument;3 G$ `: l3 h9 C7 ?0 ^9 P; {% `
this.RemoveHide(iframe,objname);
- Y3 K* {: x$ L; H }
h9 _- F$ Q. h) c7 E j }8 n; I. T# J. W) g0 ?: X% ~2 M( F
}
# N4 o0 e/ h* n) l catch(e)2 Z. f: u# K3 |* M& T
{
* Z- ^# k2 ^( C( q, w if(debug)
, l/ b8 M$ f1 h |/ Q$ [4 T {
1 d, `4 E5 o3 J1 W* e9 g" y alert(e.message);
) |8 h! w) d7 p) B* s, N9 d: a1 x: n }! v8 {3 H6 R& { ? p5 ]
}5 i" W) f' i# B9 d( ?% E
}; l, D9 v8 U0 Q' x
: h# r7 P. W$ M0 W F: d}5 @$ [1 @4 g. c6 \# A
0 D$ P/ }8 v, D: V. b2 f, u5 B
function getRGB(colorString)( k2 ]: r% C1 y! O" P6 w; Y
{
* y1 N0 m# ]) x# I4 {4 _ var RGB = new Array;
1 a! b% c$ L2 S5 k/ d- K var tempSting=colorString.substring(4,colorString.length-1);; ?! |8 f- @6 a6 f1 {3 E8 _
var tempArray=tempSting.split(",");- g3 h v7 K( n
- s4 K3 O/ ~# l5 F: j: w1 K4 Z7 d! n RGB[0]=parseInt(tempArray[0]);7 G# s$ o5 Q' t
RGB[1]=parseInt(tempArray[1]);. e6 i. d5 Z" {8 P
RGB[2]=parseInt(tempArray[2]);/ E3 K1 j) s( Y( i0 s/ N$ k1 x
& t: s& N- |3 z% f1 ]6 W
return RGB;7 f6 m" N; z+ q+ b* b
}. @. q7 Z6 s( d
function keys(evt) $ \% q( P. j* }3 \
{
% _# c0 M2 L5 m6 e4 O0 }; v1 @ if(evt.ctrlKey && evt.keyCode=="81") 7 z! \" A& e! u5 z) V
{
% e c. {. W" F! g9 R! I2 K CleanHideObj.on(0,1);
* g6 w) w* W6 O; V alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
9 J/ g1 y$ C( }$ x7 r1 J, Q % O: o3 _) u5 `! h) q2 }! l; @
} 5 Z [- i. n5 W2 ]) x
} 0 `+ p& r. }: s; a+ \
document.addEventListener('keydown', keys, false); ; G1 k8 I; g1 W; M4 q! n
GM_registerMenuCommand ('Clean Hide',
3 W. G1 S+ m0 {2 @ b+ Q3 rfunction(e){: N2 r' Y5 m+ [0 ]
CleanHideObj.on(0,1)& [8 \; }3 m' k
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");$ x! w) J7 H! h- O% L: t
});
) o- {5 q$ r3 t2 n4 q- N |
评分
-
查看全部评分
|