|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
+ T2 l* ?1 U6 K$ p8 X! T: G. F" h- d- f. k( T: w
火狐插件,用猴子, K* m+ U3 W6 A3 R% U- D+ ^
+ p. L: Z7 I& T: n
var debug=false; ' T! @7 }* s$ R% [1 j7 g! N
var CleanHideObj=new CleanHideClass(); c9 O3 g# k. P0 | t/ e
5 `! M7 P F6 \# }% D6 lfunction CleanHideClass() 5 s- U5 s6 u. }# @- G- u
{ 9 F c2 c' i3 o. a' g
/ f" z! W7 M( y! ?! u9 G# ?( h" L
this.on=function(id,bMZ)3 K: [; F1 I8 Y; c5 q" B' q
{
3 }8 B# o! E: E, b! |, Q* }( G , O- [3 r$ l8 s, L; W6 C. p7 S
if(id == 0)
9 y% d8 }2 K1 N) `4 [0 P+ ^& s/ j {
) G' s5 ] e1 S/ U/ q) R( @ var page=/* document.getElementById("content").contentDocument */document; + n9 q9 |! t) h3 a& p9 d
this.RemoveHide(page,"span");) w' }8 C Y% A0 [" w0 ?& z* q
this.RemoveHide(page,"font");; K* g( D0 R; L0 Q
this.RemoveHide(page,"div");
- V/ q6 p5 _) A8 p; J, l, M a8 M; [ this.RemoveHide(page,"p");1 n, r7 @# V% f8 e$ K& ?2 a
; h1 N0 `; K, \ }
! x7 C0 a4 `8 ^' J" ~! f/ L4 m/ p
% _0 }$ u6 V0 L7 G4 [6 d5 a }- k+ D$ }* R/ n. h8 }) ?
this.getobjstyle=function(node,prop)
4 C; ~- i+ Y9 J/ p5 b3 s {9 M/ X$ M- } ~5 X! r+ I% d% B" z# [
try
3 N9 J1 H8 [$ l. Z% f) e {( c2 b" r" u( b( c
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
* @+ G+ ?; ^3 i/ \1 f' u5 m7 C }
3 q. J5 R( `# u7 K3 Q/ j catch(e)$ a: b! z0 d1 w+ }$ M4 ~
{
H! S( t/ \' Z" \. H if(debug)
$ I( `0 l0 D8 \2 ^9 L* g1 b {# G T, H/ o! }
alert(e.message);8 ?' b/ n" I: D, [1 T
}
% v" z4 S3 u( M4 A& Y4 q! m4 u$ h
* O! ^% ]% ?* Y1 I2 N9 B% I return "200";. {; k- i/ d* G# T8 I. c$ r
}
& ^" D5 d2 s4 U- c9 B }
. p+ t) R: Q7 N# a3 w7 @, t
& y# ]* l% N( `! G this.RemoveHide=function(page,objname)/ D& m3 L& m! M5 d/ @
{
/ `9 `$ @; _; D. `) h try
# @7 J6 C. j" R0 I6 M {! V# L; ]7 D0 f$ J/ H- v
var minValue=15;6 m5 R# \/ @) l# U( ~% m
var objs=page.getElementsByTagName(objname);
; U" i, P$ F" |4 k3 r5 [' l- E4 n
if(objs.length == 0)
# l+ D3 k' V l% A: B* s {
; O& L0 e$ q W. z5 Q/ A9 F. S if(debug)7 Y1 e* o) n% W8 }0 I5 R
{
7 D' m8 O/ ~) N1 x alert("no object found!:"+objname);* W# w, L p% R9 T/ X! a
}7 ^$ {& F8 d8 X/ d, a1 W
}. U; X; z4 @" C- @: A! o
else
H1 [0 n# k& Q. o {
' B, X" \7 R5 N6 e
& [8 g9 A( `$ e1 g for(var i=objs.length-1;i>=0;i--) & ^4 l$ \8 n. R/ e4 Y
{
# C, E6 ]7 W+ Y. g4 o8 N$ |+ N& I var node=objs.item(i); 0 l9 E) _" p7 V& h. L( v
1 H$ v2 ?9 J, v1 P$ k# `$ l
2 K7 M1 B+ \+ M if(this.getobjstyle(node,"display") == "none" || o$ I# A0 y7 Y* A( J6 U
this.getobjstyle(node,"visibility") =="hidden" ||
' z+ ~& L: E0 N' y4 n parseInt(this.getobjstyle(node,"font-size")) == 0)
0 ]6 ~- e. A9 Z3 q5 ^) v {
; i/ E! A2 x/ o/ E0 |( }2 k; t if(debug)4 x1 l7 H. G: s; C2 A
{+ V7 o; C" @2 a1 p5 f9 N/ ]: g/ j
alert("remove invisiable!");. F( E* A% t; S+ t! @8 L
}1 M: W6 H3 b/ g3 N
node.parentNode.removeChild(node);4 m3 A q2 a% Y. Q0 a# q
( _- j- i- k3 b8 t% R% ~
}
9 {# n$ X4 K0 t else
5 e4 z6 }; C8 y. j1 `0 m {
& E+ R7 u' M j" a if(node.parentNode)
6 [5 ^; g7 ` c2 U r& u' S {
7 a; C! N# H" Z& C) ~# k6 |! G var orgNode=node;1 M3 M2 P1 W6 D9 i8 }: c: X
var orgColor=this.getobjstyle(orgNode,"color")
) P; ~% P) C% e: o- z var orgRGB=getRGB(orgColor); u# R7 N! z( w
) }! n1 K5 [+ L% H* Y! S% W& M var parentNode=node.parentNode
4 _# v5 ~' ?; n, R: Q var parentBgColor=this.getobjstyle(parentNode,"background-color");
' E1 d# m* p) u8 B! Q9 [ , b7 ^1 B7 T6 c; n7 L7 q' O2 \4 P
var isLast=false;/ m7 G) z) a4 D I+ f9 h9 _
+ ^- R; j- N" K while(parentBgColor == "transparent")
8 B, p; a N6 H% J. \$ T" H {. ?4 ?* Q5 p5 @$ I+ Y4 Y! a5 Q
& u" k K v3 i `8 c
: q u/ ?% T. Z: E& ~ if(parentNode.parentNode == null)9 ~6 u; }6 H# g# Q8 P" ?
{
" d( @7 d( L9 z. A/ o isLast=true;
# }. [) h1 ]" |! o3 V break;
/ B+ E& l( ~- e }
1 D/ f- }' M2 N- e1 _ parentNode=parentNode.parentNode;
! V7 V. }& A. ? c; J7 A7 T- ? parentBgColor=this.getobjstyle(parentNode,"background-color");
1 b, B: K" f: Y9 w2 Y* L) H3 V3 t+ j8 Y. Q% N& e3 l; M/ s, q
if(parentBgColor != "transparent") 9 r8 F. r7 G$ [( o' w+ R
{5 d2 r6 [6 W' X+ @# b- N3 k% m9 Z
break;
~1 Y: ^- d+ ^5 o o }
3 N4 I0 `1 W8 C }
7 ?& f( i, Y! A, m( s if(isLast)
9 Z' F2 V$ f9 u2 {7 P {3 N) ?& F; R+ \
if(debug)
& X$ y7 n) z' N6 O {. T( w5 O$ a4 |% s% ^. \
alert("last!!");
# e1 B0 W6 s6 R/ k! y0 O }- F; }" V$ M- C9 O* @% S
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
' [' _* s0 b- Z) C E; L( o {
0 F3 B; p p; D/ b" K orgNode.parentNode.removeChild(orgNode); ! }8 ~ B; G! O2 r
}, f/ w1 f# }3 B( Z. v
}6 K: w* i4 K! F& P2 B5 J) ]
else
1 c1 f! C+ L/ I8 c* A- V- D {7 `# K5 Y6 H+ Z
if(debug)
! @3 l' c% S6 Q- O {2 i6 q) t0 Z# D
alert("compare color and parent bgcolor!");
/ W& a, y9 R5 S6 w }, z5 D4 J1 `+ R$ I# x
parentBgRGB=getRGB(parentBgColor);) r8 N2 L) x$ K9 ?+ _9 J3 e
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))$ W) C- R# W5 H+ C6 w
{
' _+ N5 ]6 Y0 v# o. ~! U orgNode.parentNode.removeChild(orgNode);
$ G; v: Q6 ~1 t# p" B; l5 n1 {/ v0 e }
. E/ ]3 s( p: n0 Z }
p! i* ]+ T. f: h/ `0 Z3 W }) [ ~# s s' _2 A5 q& _
}1 ~9 C' J6 f1 q
}0 I/ |- k+ S" g
}
3 a; j6 D9 Q& e/ ?% t 7 p `: ]$ y4 b* ^" Q0 ]
+ [# L3 K5 m' M
var itemFrames = page.getElementsByTagName("frame");; [: X; f, ^6 u. s
var itemiFrames = page.getElementsByTagName("iframe");
1 ]9 B/ [3 G2 [7 k9 I0 E c ' ~$ \/ G' Z; `/ } A
var frame, iframe;! Z; g8 o: S% P- l( W* Y) I
if (itemFrames.length > 0)& h2 q- J v) Z( i7 U! I! L
{4 [1 G/ w0 m8 k; j; @% c
for (var i = 0 ; i< itemFrames.length ; i++) 1 D& R0 `- [5 k
{
) X* E$ z& \% G& B" v$ e+ u frame = itemFrames.contentDocument;$ ~/ ?6 r0 \- l1 C. ~
this.RemoveHide(frame,objname); 3 Q6 x2 _5 h, W8 X8 M
}5 J' X1 A' w0 C
}, G2 [, ^8 {4 u& J# y. N
if (itemiFrames.length > 0)5 m. n8 h8 p7 Q
{( q" { \6 F% E7 `6 T( b; o
for (var i = 0 ; i < itemiFrames.length ; i++) $ z0 {% [; v- ?3 B. H
{- l! p- \& c' B6 U' M
iframe = itemiFrames.contentDocument;& \* j; ]9 T, E7 x0 w( Y
this.RemoveHide(iframe,objname); + X, F8 e6 _5 q9 j8 N# n7 y$ n+ \/ R
}
% C* `1 D a1 W% [# ~+ } }
% e8 {( V+ r% J- O }
/ t* L; U5 W( K O catch(e)
: h( G9 n& ~. A; V4 Q {
8 f2 P5 L+ J( D) t- A3 m1 h if(debug)
- a# w! `) M: e& S {) T& t6 h$ b" R$ f& Z' ]
alert(e.message);2 v: T0 Y5 }: z+ o p
}
! R ?1 o% `9 |; [9 `6 u" ~" | }
; {) d$ O3 q9 Z6 ~+ A; F }
) `9 x! r( f! L* N) q. Z1 U8 B
* L8 c" D8 N+ L$ l, S9 ?* p" h}
- y, |- c% m: a! u7 h- h+ @3 ~2 i* B5 T. w
function getRGB(colorString)
5 G" p. A) F, p0 } k+ E @{6 T- ~0 X: s1 q7 P
var RGB = new Array;1 u5 G; F7 s' H2 `$ i! b
var tempSting=colorString.substring(4,colorString.length-1);+ X/ \9 _. C i. c; U2 f6 J n% k
var tempArray=tempSting.split(",");5 }% e6 U! g/ v3 R6 Q
3 l! l3 |% H) |! |$ {- g3 U RGB[0]=parseInt(tempArray[0]);- @3 N' F7 ^# t+ J( \
RGB[1]=parseInt(tempArray[1]);
0 G6 t( _% n* Q7 A RGB[2]=parseInt(tempArray[2]);2 o( F) K/ v1 _' t8 M
. T3 Z5 B/ J0 p4 p return RGB;" B; E; O C1 T: k% X. z0 G
}
1 \! r* C( @2 T& @" }; o9 N C8 o7 F' ?function keys(evt) & }( ~: O' L6 R' e; o4 t D
{
6 P& \+ h" K/ j# b) D8 Q if(evt.ctrlKey && evt.keyCode=="81")
+ Y7 _# G# @# c+ U, `, Y! x9 Y {
* }+ Z; g! e3 F' O9 _: [6 {2 u$ j1 l- n CleanHideObj.on(0,1);+ ]" z% t* B" Z. ~) T
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
! D7 a. I+ \( \- R
5 \6 O8 W7 s! Q# }, }9 l } ( }8 \1 r5 j. D5 D' D4 e1 M
}
3 J, b% I- q# l7 P8 Idocument.addEventListener('keydown', keys, false); - s. b* @) l2 \* ^
GM_registerMenuCommand ('Clean Hide',$ [# j. h# n, t
function(e){
. G) I- D& J% ~4 h2 KCleanHideObj.on(0,1)
5 O* J( F$ }/ P" Q5 _* ralert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
. M& i ?1 w) v' {$ |+ X$ p# H});
! j8 D, q' I6 l! \; K# c0 f6 d |
评分
-
查看全部评分
|