|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
/ k" Q3 d/ g4 S5 S. {' D% ^6 h8 m' W* [6 d
火狐插件,用猴子
7 G! |. ~$ c0 [& `. y% h% W5 A/ ]$ ^ H0 v; h7 d/ \- V
var debug=false;
. @8 b# f# y! N/ J6 S/ Vvar CleanHideObj=new CleanHideClass();
- U6 Z+ e5 q; b+ i
" [% a! ^ n; K7 } I# \function CleanHideClass()
! C, }8 Y" Z( m* Z7 i, ?# Y{ / ^4 m% K4 d. X$ n( j _
9 O" f7 z% h* p" |% @
this.on=function(id,bMZ)( y, x( J0 E/ r2 P7 n: s
{4 T: \: O7 v( |4 w6 r1 e _) D- M
5 q" _& ?9 T& {6 c if(id == 0)
5 M' e- m; V( ] {
& ?2 ^9 _7 } t6 o, k; S var page=/* document.getElementById("content").contentDocument */document; ) q" ?9 ^" f" n! s+ F2 c$ C6 }, J( t
this.RemoveHide(page,"span");
( g/ O( d( E1 a. T( j# E4 m0 @ this.RemoveHide(page,"font");
* q2 U; I1 |& I& F, h! b: f this.RemoveHide(page,"div");2 P4 \3 {( {0 u/ E! E9 Q9 t$ ]) M
this.RemoveHide(page,"p");8 B5 Q0 C" Q( U+ L, n8 j, k
3 e F4 v6 ]# K2 J$ i
}, x) F" b+ K3 y
3 ]* N2 g& L( m) S- q
}
. I9 L6 Y; o2 F' Q% \/ e this.getobjstyle=function(node,prop)
9 F5 Z+ O9 {1 \0 B7 o- l4 p! d {
: [% _( m+ S, E& ]# o% T6 H try
7 C" Y' e0 S2 A% _* X6 l6 Z {$ R* q7 q' O7 ~2 [7 F/ R
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
+ _- G; W. n% w& ?: n0 G }2 |8 d7 N! J' ]# K! O
catch(e)
: e/ L3 ~6 _/ @) p3 n% i6 h6 N% ~7 b ? {" U! r2 Z1 b4 S1 O
if(debug)! R7 L. t1 C+ j0 W6 ]7 d1 `/ P: }
{9 U; t1 w. u V8 ]# G
alert(e.message);
& `# @9 I$ Y6 [" n8 S, V }- a+ P. ]3 \5 d6 n. C, v
8 X1 J2 p7 M7 y# l6 ?1 O0 V, y& i
return "200";3 z4 U: X/ I+ n# [; a- ]1 z3 n
}% g" E8 f8 G% @0 O' i
}
1 H P7 E0 P& [6 k7 N
; z# e {6 @8 C; b. J this.RemoveHide=function(page,objname)
. t9 }, B$ r6 E0 ^ {6 Y: x" V# K( ~' L5 W" f1 J
try
2 l. @: ~3 j" e$ m$ u _ W) } {
# C$ z0 a) i4 Z7 I var minValue=15;$ _8 m$ Z- I) F2 N3 r
var objs=page.getElementsByTagName(objname); % Z. Q; D: r8 ]8 C0 k$ {' K) S) x
0 B. n8 O, A5 G8 ~0 X6 r# p
if(objs.length == 0) / q6 ?+ n3 o2 j- j
{6 D' D9 ^2 X3 _$ K
if(debug)2 T; ~. {( A0 ~: n/ |4 o4 d
{
' A# q/ V% f# K* j alert("no object found!:"+objname);
, A9 _* r. X1 J# ~ } \3 r' E, @3 S, e
}- T! l0 g/ G3 J" G% f$ E
else/ J( J y: M" m( S
{# a) g' b; z% w
, ]/ B: Z& n7 x3 | for(var i=objs.length-1;i>=0;i--) ' C( H/ z. n6 W6 D
{1 M9 @7 X9 y ^3 `3 P- g9 `" F! U$ Q
var node=objs.item(i); 7 N/ J' {+ G5 l7 s+ ]+ n! u
$ m# L9 s7 l6 [) `5 t ' L! v3 S. u$ x$ |) t0 t
if(this.getobjstyle(node,"display") == "none" ||
) ]2 S7 f7 ~: {' |$ V, a5 @ this.getobjstyle(node,"visibility") =="hidden" ||
0 d5 W _6 u( @ parseInt(this.getobjstyle(node,"font-size")) == 0) * j7 ]% h, n+ n) M/ o
{7 Z/ H" P$ j) ~
if(debug)
7 l& T7 g& J& h" w H {
9 c! H7 f% n+ f& x alert("remove invisiable!");9 q8 j" r. f, F8 a0 ^+ r( k7 ~! _
}1 g: z. [ b, @; a! M& e5 H2 ^
node.parentNode.removeChild(node);
1 v+ [, v4 I" G0 E2 g% @2 e5 ? 1 P8 _1 b+ p' l+ S
}; T3 {% b+ o; i+ S3 z* u# q
else / n; o* X4 F3 O: ?% g) s
{$ Q0 h0 S5 Z7 O4 P( d& Z- o
if(node.parentNode) 0 S9 g) j: `) P6 Z* }
{# a! L4 c* G7 D S
var orgNode=node;
/ Z; P9 m( j+ J0 Z6 @! D var orgColor=this.getobjstyle(orgNode,"color")
& ]: ~. z& p# r E# p8 {2 T) e/ S var orgRGB=getRGB(orgColor);
2 Z1 C+ h" A- c) _; q. n; g% ^+ k
9 s0 i4 A9 u6 g: U var parentNode=node.parentNode9 \7 A1 s; E& d! c6 q& r3 t
var parentBgColor=this.getobjstyle(parentNode,"background-color");
; D. Y/ j6 z7 @" n
$ z _9 @! }7 X8 Y; c var isLast=false;: b3 t8 A. q+ F- ~% f, u/ l) O
% U. }$ t, }: K, y2 k
while(parentBgColor == "transparent")
- G% l5 A. Z( g8 h {
; p& Y+ D3 Q3 d- ?1 R: j( V
: k( I. _! }1 a. C6 E9 P. \& _; g; u
$ U. X/ ^% r) F0 G$ Q1 ]; T8 {$ e if(parentNode.parentNode == null)
# n, K! x* T3 \" T! p" h& P0 [ {; B) ^/ @! N/ f
isLast=true;
4 ~ Z% _$ r: ^ break;+ }7 R7 H3 _/ Y5 G0 T8 u
} w, D; o) p7 o3 f1 j
parentNode=parentNode.parentNode;& D/ L# |, V, j8 x+ X/ D8 ?
parentBgColor=this.getobjstyle(parentNode,"background-color");
3 m/ Z$ X6 k" z. e2 V8 F! J5 S( h+ a
5 _6 E% x5 x9 C. q8 q q5 I9 F if(parentBgColor != "transparent")
: p, P$ H* U. a; y* [ {& G* X1 c- |& W/ v6 S
break;
; M' n/ i4 |; _& t& K }8 a5 P$ B, y$ l% ^- s& j e* O
}& H. V+ ]+ U S9 [8 {) d
if(isLast) $ b0 D! R. s4 c) l. G0 g
{! }2 D9 x1 ~" o1 E
if(debug)0 m8 a3 A! E) K& r
{
) i$ e2 U J! T! h6 @ alert("last!!");3 Z3 @6 G; p J0 `2 x8 e
}& \" Z: K( l9 s
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))" ~+ l9 n2 M1 H" F8 Z- w2 l
{
# k' i ^$ G* j3 a# E/ N/ w8 K$ G! v orgNode.parentNode.removeChild(orgNode);
4 b7 y a3 o( t }; {# I5 G1 D- G" J' p4 l6 {" t
}
8 o7 W1 ]1 m+ ` F$ D' x5 C" r else' Q; G( F7 i/ Q1 ?) |
{
0 W; B" g' ^, e0 o& _4 o# H if(debug)& ]1 M4 M% d8 m# J
{; R) Z* u& L% p1 h8 U
alert("compare color and parent bgcolor!");
, l' [( U6 l1 _ }' ]9 T4 d+ a% b1 T0 Y
parentBgRGB=getRGB(parentBgColor);, E5 I) U2 G3 J$ S) P$ c- p" n
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
6 U) [- d) V X {% P$ s. G; I7 A$ x3 F! F M& w
orgNode.parentNode.removeChild(orgNode); / S q1 B, f2 v9 u: L! ]' q! ^
}- d$ {3 d3 |! ~& ?
}7 ` W. M; V9 o/ F/ Q* c
}' V/ }, O3 H% h, E, W9 I" j
}6 {( R+ y( g1 `" U1 j1 o
}
% t8 h' q, y! Q+ v }
+ ^2 I1 y: @8 z- r' I' A4 ~ 2 K3 ~) h% B6 b! n! B
. k$ t6 ?. C* c
var itemFrames = page.getElementsByTagName("frame");
, E Z% d: i! W. G. O var itemiFrames = page.getElementsByTagName("iframe");
/ ?: B/ m4 k6 c( v% D, A
' o( p/ j: I/ H# d. b) M var frame, iframe;
5 ^: t& j2 ]8 G0 R1 |" } if (itemFrames.length > 0)7 b: t$ l6 e0 c) M2 X* |
{) N. l- T8 |5 G
for (var i = 0 ; i< itemFrames.length ; i++) 9 m4 f+ L( d4 b% |2 d s% o
{
1 c* U5 Z) L [! t C3 } frame = itemFrames.contentDocument;- t- J9 N) M2 }4 ^1 P. m* M! K7 S
this.RemoveHide(frame,objname);
. z: p* x2 l: E2 H }
7 n7 g" H* N, _9 F! f$ e }
" u% l5 p$ D+ g$ o3 l if (itemiFrames.length > 0)
* @8 N4 E# R! _9 B% `+ S5 P- B4 m* ` {
% D S- y9 q7 f: u( Q U5 a for (var i = 0 ; i < itemiFrames.length ; i++) ; A- s& }6 b; v
{: E7 h! N! z% ?0 _: V5 O
iframe = itemiFrames.contentDocument;7 W/ n8 i! i8 m) t: H
this.RemoveHide(iframe,objname);
, Z1 v5 c9 @: l1 o( j }
# [) I, U; e1 Z/ ]/ G& i }, K; v5 b& i+ y) {
}* k [8 ]( t0 @; I! T( e( ^! d
catch(e)
9 y1 C2 t8 H; g. T {- D3 g, ?$ x/ k9 g8 C3 p
if(debug)0 n3 l. o: ]+ l& l) m7 G- z
{
& s! W) d$ {. S" G alert(e.message);6 F. q, U7 j* U \6 `4 j; |
}6 x8 s! ^& W! C: J
}* ]" Y, J9 O+ |( P' A3 L) t
}0 D6 k) Z% ?& u _& s
* Z/ T9 `" R$ R- C4 H5 x
}2 X, r9 U- x& o7 y! A! H3 _" }
) K! _/ E2 V1 n& h# H" q% jfunction getRGB(colorString)+ a3 M6 R. H; Z5 k x" @& G
{& x, g) s' G$ T' s, }5 q9 M
var RGB = new Array;
- H% T' D/ e7 ]. R+ _ var tempSting=colorString.substring(4,colorString.length-1);4 C7 x8 d$ o. N: O% n6 z4 ~
var tempArray=tempSting.split(",");
( f% ]8 F. |8 t+ R$ L
+ e* ]$ C5 R" U5 A RGB[0]=parseInt(tempArray[0]);
$ Z: b+ t( J+ D- ` RGB[1]=parseInt(tempArray[1]);
( X8 O! O! f# N1 P' ~ RGB[2]=parseInt(tempArray[2]);& L" q& I: c' O- A' n6 O
; y% f# ]; M8 e2 s$ ? return RGB;
1 ? m7 A. ?( Z, a3 R}
4 ?' F! {/ |( J- Hfunction keys(evt) ) T' m" @- F$ \8 q/ \
{ 9 w* @! R' a6 u( R; O
if(evt.ctrlKey && evt.keyCode=="81") ( n& d' X0 Z8 n" A+ ~% T( ~
{ * `5 F ^3 ?% w% I5 M) s
CleanHideObj.on(0,1);
9 R$ P$ d: O, U, h# G% ]2 d alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); % ^. f6 c7 y" k/ `! Y+ r1 m
( l5 Q2 `2 o) X" P# F }
" }' E+ ]$ E9 U9 b8 h } ; E: l) x0 d% z0 Q% u9 O" ]
document.addEventListener('keydown', keys, false); 0 m3 E' Z; s% P8 W( |
GM_registerMenuCommand ('Clean Hide',7 v5 C ?: F; b: d
function(e){" y3 ^( i9 A* m7 I* `1 S# p8 F$ f# {8 ]
CleanHideObj.on(0,1)
1 I% n6 v$ o( Y: walert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");' _! s' l: B3 U! \* L4 v
});9 q3 b" _/ g9 a6 h
|
评分
-
查看全部评分
|