|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 + n6 ]/ m- O0 r- u, R8 E
7 {9 X% x, g7 t* a& W' {火狐插件,用猴子
6 x3 c, p" B, f" _4 y; i+ N0 \# A* m: m6 ]5 D; U) s S
var debug=false; $ C) S( l- f6 k* f( n
var CleanHideObj=new CleanHideClass();. e+ d' q d! O, c8 h
5 Z6 x1 \: r1 }) s0 Qfunction CleanHideClass()
* ?, u4 r. D. @% z6 m ^{
+ F$ x. `7 Q" ?2 h5 n- N! D- z 7 ?# i& _8 C1 p% K! c
this.on=function(id,bMZ)
0 @5 H# Q/ }2 ]- _6 ? e {8 M5 e( @' R1 z$ f/ ~
8 j+ S* Z# y& A; }: R! f; c e2 O! _
if(id == 0), a3 J! d- ]! ~6 Z
{
2 g' N- q9 E3 {% j" q3 n var page=/* document.getElementById("content").contentDocument */document;
% H) h) i! q5 P A: r' B0 m2 i this.RemoveHide(page,"span");( z. d: J6 g8 l/ h/ m
this.RemoveHide(page,"font");
4 s) u9 P3 c M& A+ A- x( Q% W this.RemoveHide(page,"div");. z" q) v9 @0 C' S! E: H
this.RemoveHide(page,"p");# K! u, \" c: s) ?
) M$ v: {" F. G& v7 F }0 A; O4 m1 {/ L) X* C# w; x1 D
% U( f: H5 r- E# A }
/ \0 N* ^5 [! @9 v$ p+ \1 e% ?6 N) Y; h this.getobjstyle=function(node,prop)
8 r! G+ q: z, B ~, u7 s {, _. i E5 Q9 Z: l6 f& Z! ]1 W6 @
try
, ]4 b' x* a- b1 W {3 Z+ c) f7 ?) M0 e( M
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
, J! m: y9 Q" A9 e; R }, G; x9 c% `0 J" x/ i
catch(e)
% ^3 }$ S$ g4 K2 y {
2 d" G& q2 |0 X# ?$ P if(debug)
8 j0 B6 ?9 F9 m+ R {5 S" ?, W8 B( G8 i& p
alert(e.message);) `+ u) O$ Q( o& G$ d* j6 C
}
: l$ Z: _6 p/ ` + E5 a$ u6 {* c, i; |
return "200";
& u: }7 f' k& W; @5 j( @; i% k2 ^ }
2 \& K2 c0 ^% e G }
9 m6 x# \6 N" j1 Q & v( m; n9 S9 X2 C# d8 O
this.RemoveHide=function(page,objname)# _# p+ _3 w( M, ] y
{; t: l, D+ @ h% b; b7 ]. b; q
try
+ D# Y. }9 L- `% Y1 E u {
" ?$ @9 b* J4 e9 k var minValue=15;" [ A5 X2 r1 c( y
var objs=page.getElementsByTagName(objname);
( F& N5 f+ U' C/ _* {' r4 F
+ D, o* L9 D Y# {7 j8 y- o if(objs.length == 0) : @& A; r% }) g0 j
{
2 b# z$ ?, b/ d' _ if(debug)
0 c! V& O- N2 G9 D7 M% B% t/ t3 }8 e {9 G1 U0 Y+ z, g0 {( R! y
alert("no object found!:"+objname);
: ]* ^, O/ J* z3 [) a }
# o t, _9 ~+ X4 @4 g, K }# j- s) ?, B: t1 ]4 O% U! c
else }" o9 l8 F- d& q$ E" E6 e
{( M4 ?: I) B) K% N% j3 o& f, h5 z/ d
& e! J) |+ D+ L7 s6 K for(var i=objs.length-1;i>=0;i--) 0 G. L0 m" Q: a+ O+ a& w, [ s, r1 l
{, X1 S1 I) F! ~8 b
var node=objs.item(i);
5 ^' l; S" `. o p# l% g8 n
) c [& j/ K) }0 M* Q % n/ y" u' P9 b) X; U
if(this.getobjstyle(node,"display") == "none" ||% c! ~% w/ r( m0 Q1 u% }
this.getobjstyle(node,"visibility") =="hidden" ||
2 [2 n9 ]5 W8 F% |4 k) i parseInt(this.getobjstyle(node,"font-size")) == 0)
9 P0 ?4 p5 J) Q$ \: q6 @" y+ O {
5 r0 V; V8 @6 E0 n6 L# E9 }% h1 U if(debug)
( n8 ]8 v0 E& P/ Y( i& V0 u6 E {+ w' V4 `0 {+ I# X9 w ~
alert("remove invisiable!");
g0 K3 `, }+ U# F6 }% u }, B" W" t% Y5 \% z# x. p+ W
node.parentNode.removeChild(node);
5 [ d9 w0 u* k$ X
0 W2 g, Z& e4 R+ A2 Z }8 E o- z* E3 g8 N
else " m; K3 k/ X& ?$ f7 G
{0 \- p, J% }! G& P; m/ L" g( t
if(node.parentNode) 2 W% G3 {' c0 y' q. K* r$ L+ O S
{
' C! `/ e1 g9 I4 v% g var orgNode=node; m/ b. F6 f w% p/ G6 V$ s
var orgColor=this.getobjstyle(orgNode,"color")
5 a+ g- o/ A6 U4 u var orgRGB=getRGB(orgColor);
( p# n% i# m& d- p/ k& n* _
! J7 {& B& {* F. I1 G9 k1 M var parentNode=node.parentNode
( p; [! v$ c2 c9 h0 G- w var parentBgColor=this.getobjstyle(parentNode,"background-color");
0 N* R4 @% t7 z ~7 n: }( w* F . P. ^ Y8 P1 e1 L7 D) s0 q4 y
var isLast=false;" b; M- [( A& }2 S+ f4 q8 F
Z1 x F: H1 ~$ q6 ~# D. B
while(parentBgColor == "transparent")
) E8 w$ C7 L, E# \" ? {& U* z7 \( j2 m, y0 i' {
. }- l% I! N y- |" z1 _7 ~" F
! R2 O& R# o- s) B1 c9 e, Z if(parentNode.parentNode == null)
) U! j1 b, i# F1 O" f$ { {
4 M) r9 t7 p& y2 P+ r isLast=true;
# O, ]8 B4 b5 O" \9 Q* J2 p break;. R% y7 D4 F" e+ j/ y
}
8 y: j6 r; O* d! `2 D$ | parentNode=parentNode.parentNode;9 W$ F. G6 ~4 B% C$ K
parentBgColor=this.getobjstyle(parentNode,"background-color");
# z# [: E9 `& f) M, {, ^' ]
2 Q) E5 E# i( l. _% Z9 X if(parentBgColor != "transparent") ( _" v) C2 G3 g
{* y, T- _8 L* i* K) m! ^0 I' p+ y
break;: f0 q1 i) f+ _: j' w
} D% G, K& Q+ R* ^1 l
}4 ~% S! M3 r' L! ]1 l! c
if(isLast)
: s% p% N7 o# t5 p {
* R) @: }% U5 K0 {' d if(debug)
% k2 O! R) B; R( Q, K) T {$ H$ g" x3 x1 y
alert("last!!");; ^& @3 |! y7 Z* C6 d4 M8 m7 W9 ?: B
}
; c( X' g$ W% |- I0 ?5 K if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))% c$ y- X' u/ f. f$ `( v9 a; m
{; J# T( B% [, Y( v& u: \
orgNode.parentNode.removeChild(orgNode); 8 c: P1 Z9 t$ D, B# p1 G1 H$ k
}
! U1 u. S3 e! C }
& P; d: c0 b7 a; o: ^ else e3 q8 V# {9 @8 \
{2 }$ U1 w# C: {9 o! O( N0 e
if(debug)' I( O5 S' p3 S9 Y- E
{
' ?/ F3 L' n+ k' r" M9 R& `: h) o alert("compare color and parent bgcolor!");
! o' M0 ~0 ^* } }0 N" D9 W. l# c' Y4 G
parentBgRGB=getRGB(parentBgColor);* [+ o5 C" [' a& z% X6 j& {
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))* z, E' m9 j* h- J& \ k5 ~2 R
{
4 u6 O$ I% Q* \! ]5 I orgNode.parentNode.removeChild(orgNode);
2 g' _2 g( g1 Q i5 _ }% b# D! ^( X7 r; g3 [, w4 A
}+ e* D7 n/ c. @6 d
}% W' ^: b2 I$ J& m
}
; z3 H9 _1 w4 M$ w! O! z9 N }* p% g2 @/ ]1 V* u4 m" `0 x
}
5 y1 a" v3 ~! L; ^; |) g' ` ! F* q' I: A! m, O
# `+ i4 [1 |5 p/ {
var itemFrames = page.getElementsByTagName("frame");
2 s6 n, [( i7 F. R0 u. ~: C5 Z var itemiFrames = page.getElementsByTagName("iframe");
& L$ Z9 \/ r5 @) J9 o # d h1 R* F( U1 X; I) ?
var frame, iframe;
% z- ~0 g0 S! Y) l, X( O if (itemFrames.length > 0)
1 N- r' `2 I/ | X) J {
9 w# g8 b" y! H. f/ `0 Q6 w0 l' u for (var i = 0 ; i< itemFrames.length ; i++) ; b6 s: a/ x7 u4 c/ R2 g% a) a+ V
{
9 @# O' v! S/ j8 \) z0 j frame = itemFrames.contentDocument;
, `* c7 |5 `/ ?( q- J) C/ q; y1 U this.RemoveHide(frame,objname); # m% e4 H0 a6 D' n
}% }' D! ^ n9 M r ]8 V4 a
}
# k1 |" v$ b) P& G F if (itemiFrames.length > 0)
5 d# v3 y3 E* S# |& _: _ {
, G* ?) ]# O' x. U* E for (var i = 0 ; i < itemiFrames.length ; i++)
% ^* N1 F4 L8 U* R5 W6 x- F# j {
: N! h& |+ g: S8 r) ~ iframe = itemiFrames.contentDocument;- t& ~+ Q+ j" i6 W/ R
this.RemoveHide(iframe,objname);
. }7 D3 Z! R4 h3 t }$ | Q4 f* M! g( ?% p, d% H# H1 }# L
}3 ]1 ^$ D7 _" Q# N' }" b# G
}, |! b N- V" E( a, R" `9 `
catch(e)
4 u; ?3 l8 a" y5 w; D8 Q0 q {
0 i: Z8 B/ z& m4 f4 {0 \ if(debug)
! R: d, t7 A% L$ s {3 n4 ]- q% j& \ I
alert(e.message);
( h- Y, T8 T; _; O, U) R }
" ~) B9 [3 l( D6 b1 j: V }
" `7 ^6 j* {7 T, S: U: H0 e# H }* z7 V$ m' w; d: y
- u# I( Y6 Q2 g! A" \}
2 ]& e2 B' n6 T, \( n
3 Y# D2 O6 q8 V* d% |. ~" Yfunction getRGB(colorString): `; X2 R4 q+ Q/ [) z# e p; u7 r
{! S1 x2 R8 ?9 Y2 E; r
var RGB = new Array;
, s! i1 L% u* z/ X& {1 P' P, [" i7 l var tempSting=colorString.substring(4,colorString.length-1);
; x1 z6 E4 q) g D/ ? var tempArray=tempSting.split(",");8 q& l" S) w! U5 A( E9 |& f
) s3 B: p% G* C
RGB[0]=parseInt(tempArray[0]);" K5 T/ Z/ f9 v' k6 X( e: j5 X7 j
RGB[1]=parseInt(tempArray[1]);6 J$ D! \' j1 ]) C7 V6 e" z/ \
RGB[2]=parseInt(tempArray[2]);
0 }$ x8 j5 W- d2 @1 e4 o( R+ |- I, V - p9 u+ s& T4 r) [ R
return RGB;
0 ]8 w' r/ _$ x} A$ ^4 n( k% n. i$ |/ N
function keys(evt) 9 h; s1 e' n) S8 h# Z
{ " b! }/ Y2 Y/ ^+ U
if(evt.ctrlKey && evt.keyCode=="81") " U8 o3 [& }. U- Z) n5 {# p
{
2 K% o5 z5 k/ `: B3 j CleanHideObj.on(0,1);
6 S. Z1 M# ]$ B' N' i- P alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
9 y3 ]' W1 ]2 j
! i0 m5 g, }% R* b! b3 e } " W! ]0 N' c6 Q8 r
} 7 e5 U3 R/ Y9 e1 A! z
document.addEventListener('keydown', keys, false); 3 t' X6 Z8 G# _; T
GM_registerMenuCommand ('Clean Hide',$ c7 Z; M! W$ U' [' t4 \' {' W9 H# C0 ~
function(e){
- p6 X' X# ~4 ~0 S% J' mCleanHideObj.on(0,1)8 b% V4 Y4 @' ^
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");; g l' J- p3 G/ M6 d
});# Q7 U# X& l/ y6 q# M
|
评分
-
查看全部评分
|