|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 " @; }# C" b) X) ?1 x" p4 K. S
7 {: G4 P9 Y4 ~火狐插件,用猴子6 {, |) o! ]$ M
h$ u! `6 P. T' G1 }
var debug=false;
7 Y# g) O6 Z! \+ u1 `6 \3 @9 K8 xvar CleanHideObj=new CleanHideClass();
- t& b) P [+ g; s% I
2 h) z7 c& V8 B" g! E4 x \/ p# Tfunction CleanHideClass() # T; o6 i8 F y
{
0 _1 i, s6 s2 ~& p4 H ]( |7 k/ d
7 Y5 e" n/ a) O* b+ {. S this.on=function(id,bMZ)
# ?+ K* e9 L; |/ y) q4 u. J/ l {
* n5 w( q) e2 r$ C 4 H3 V5 J: X l( \9 K
if(id == 0)
) a- q5 j' I. {1 X7 i0 M {
0 l; e: G, M$ ~1 ] var page=/* document.getElementById("content").contentDocument */document; # P _) E- T. C- i* e* }
this.RemoveHide(page,"span");/ F; a5 O7 B- h: U8 S% s
this.RemoveHide(page,"font");' M; V& K7 g9 k" b# V
this.RemoveHide(page,"div");
8 u3 g+ j9 o, L1 N0 a& J this.RemoveHide(page,"p");6 F1 `; W, r& O! O' Y) y
0 w7 i& z, F+ c$ t# O3 s) v R. k }
6 M7 w u, Q4 \4 L7 ]; B `
' @8 s2 N0 @/ U8 L. h, s. K }
7 r* P. z0 e' Z* Q# M9 j this.getobjstyle=function(node,prop)
, D( f5 P2 [. Y0 H: y3 w {- p! {# i% A K0 h/ A1 Y; |; V
try8 S" y! F2 K$ O0 s# z
{
5 e9 Y: F4 P0 W/ y2 g& c! |" j return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop); ?' G+ N& F" `) U8 i
}
- n9 X6 X1 @& z9 ~ catch(e): B) H5 @! t+ w1 F! _! b8 \
{
( C* ` S6 B9 I8 x9 M( g if(debug)* h- z! `4 g, u2 A; p9 l5 e
{* O( \1 o: `; u+ Y" ~: V2 m0 ~
alert(e.message);
" ~) i9 R# Z8 p9 _; { }
/ Q: B4 A& U& D7 t" M- o ( l. W1 V, Q R/ l) ]
return "200";& n" q1 P; V: Z) D/ ~! x
}
) L& \5 h0 _* w' U) | }! c( l& v% U4 L8 ?& C9 a
3 J/ o" m; C9 ~2 n3 u- R, g this.RemoveHide=function(page,objname)% n! ]4 c V0 }8 y2 A8 W" [
{. l9 X! [& M' O+ _& F7 W. Z! v4 T
try
$ Q# s( Z% _+ t. o3 ~5 Q {
+ a2 [, A( \+ \, P5 N3 }( L- c var minValue=15;4 v8 X& Y2 P7 g; k1 }
var objs=page.getElementsByTagName(objname);
" P$ G9 w' M6 R5 |1 @
7 Z. ]- N% g9 a' ]( H7 q) V if(objs.length == 0) 0 T7 B+ z0 h4 d" }+ A7 F
{
) j3 M+ X9 \9 l/ z8 T if(debug): r+ T1 k! @& B7 F0 t
{
" e; B; ?% z2 {% O7 [# D8 F alert("no object found!:"+objname);
2 E( Y$ E2 P" p# g5 D5 h; D6 F5 m }. Q5 y* `" o% l% Q4 q9 Q- s' {* \
}: P" m5 a2 b( d8 @
else1 b/ O x8 a5 h! k6 i1 e
{9 z D4 a( g$ V0 h
6 ?6 D5 R; P9 R) a2 H% x4 Y for(var i=objs.length-1;i>=0;i--) 3 B2 t8 ~& b8 m1 q7 I2 V( \
{# W- C. `& f3 k) |( e
var node=objs.item(i); " a! s7 F. S# ]. Q% J2 a5 ]1 ^5 o3 q
V! S+ C* r3 E' p$ i0 ?# e
; i# d/ N( _' o; C
if(this.getobjstyle(node,"display") == "none" ||
- X1 w' B) [5 n+ y* Y this.getobjstyle(node,"visibility") =="hidden" ||6 q: T) {) G5 z: }5 m! }) R
parseInt(this.getobjstyle(node,"font-size")) == 0)
9 X% ]3 n+ O) B& }: c h {
/ Y4 w& B1 v6 x# I: T% z1 y if(debug)5 R) A9 Q) g( j
{
6 U& M2 k/ j. \2 _ alert("remove invisiable!");
, E/ }# C% o' {3 E3 |; } }
7 Z) F' R6 E3 t+ y6 W2 Y node.parentNode.removeChild(node);+ {, i M+ U" u! F! a, L" h
* [ z8 i2 {4 j4 p' s( _: h" Y }
J9 K1 b" h1 N else
" \; q) r6 i: _+ ^8 X9 D {( X' N9 X- W3 D& A; \' l
if(node.parentNode) . R0 ~& Q7 x& N0 k* }0 |
{4 @* I+ L/ w8 W7 Y
var orgNode=node;
* T4 M: e# F1 J# T L var orgColor=this.getobjstyle(orgNode,"color") v* j. n/ G" m+ |& u
var orgRGB=getRGB(orgColor);
" v x% \9 v" r: L# T; }& L$ t
8 c0 N8 D2 n0 S9 V var parentNode=node.parentNode7 l% m8 ^- I. ~. ?# ~/ ?8 r) m4 \
var parentBgColor=this.getobjstyle(parentNode,"background-color");
4 S2 w% {; N B" R: H+ E 9 R# O& |% s" g7 u5 s4 J$ p0 r
var isLast=false;
4 F0 ^* u# p7 P- U% e6 z6 Y5 @ , F4 m) C9 I. L2 w1 ]7 r; S
while(parentBgColor == "transparent") : {4 I% |! P" D9 J A) a
{$ N; X! O0 C7 u/ H
" N0 p1 p- i) `+ v) d0 r5 V1 `) g6 r
0 K3 V" Q; u9 g( H- o if(parentNode.parentNode == null); p0 k& w1 ~$ @3 M* o) R
{
) h! d) H I6 p5 D& D8 c0 y+ D isLast=true;
9 j' \. s: R. P break;) }8 S4 e; ~8 y2 o: ~3 `, Z
}
5 A, E( W- b) e) l6 r parentNode=parentNode.parentNode;. j3 G9 ~. u% Z( A7 x. O. ]
parentBgColor=this.getobjstyle(parentNode,"background-color");* j0 w/ I9 t$ c
! G8 N1 F5 d+ F/ u* _1 J% ^0 X
if(parentBgColor != "transparent") 9 a( c' e6 G% n) [ ?) y
{
, l5 T1 d( M) J& y: z$ q* O break;) i7 t3 j; e4 T$ F" x; M q6 b- A
}5 v, h3 n1 V ]
}
& \7 g# A% {; B if(isLast)
2 U/ H7 Z7 g! f9 V: G {
0 \( b' Y3 u- J# G if(debug)
" ^% } {6 Y3 e {3 t1 _7 }9 J7 L! T2 ]
alert("last!!");
3 t0 P, L' V) Y2 L* ~* l }, N: _3 X: [+ M7 E5 H; c; \
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
* R/ T9 M1 _; L# P {4 ]' p o2 K3 x: K# X
orgNode.parentNode.removeChild(orgNode); 2 O3 E9 j# {) ~, y! Q( y- a
}
/ \' u2 i F; d @ }# o/ M: J; U+ h9 s" L7 l
else" B& B8 N: N& K! Z) g' k* Y2 l
{2 i% U2 ^6 l% w; |9 j% O; u) M1 d; S+ M
if(debug): x0 W" p) v4 ]5 [; G4 z- `
{
# r. N6 f; g: z5 a4 [) r! Q5 G# s; n alert("compare color and parent bgcolor!");/ p! m: l5 t W$ G2 F
}
+ T5 R5 o6 b4 z0 B9 j/ L# u parentBgRGB=getRGB(parentBgColor);
) g. T5 H4 g8 D) {) A if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
$ U* L3 |) g5 d* O4 z% p4 I. y; q/ p {
: T8 r# |, u# w+ d5 p: `& V8 ^" Q( h orgNode.parentNode.removeChild(orgNode); 2 O; V2 K! l3 a
}
. Y. e$ x1 _- j% f, u( z }* {/ _) |" D& P# Z" ?; y) A
}
4 ~# Z7 r/ e. u4 ]/ F }, I5 V0 t: s4 l" d9 y# N8 y
}+ c% c2 V/ |& u2 ]
}# Z# b: T+ q9 ~
% ^ \6 r7 h3 M4 A6 k: d8 e( U
* o4 S* D9 q( E2 L7 m var itemFrames = page.getElementsByTagName("frame");6 S+ ^, ^0 K4 f
var itemiFrames = page.getElementsByTagName("iframe");. u" `1 |; e& a6 {! e
2 B! p, s7 E( i. ?" i
var frame, iframe;+ }% S9 T( @$ U" [: f
if (itemFrames.length > 0)$ l2 X3 S. t. D& g0 m( q# `
{/ U4 ?/ T8 Z1 O6 l, |4 \
for (var i = 0 ; i< itemFrames.length ; i++) 4 S5 |) c0 T/ B: ^( G4 v: H) ]
{3 M; R4 `! W& e4 n' g) u! ~5 N" Y
frame = itemFrames.contentDocument;
; e* Q# v/ S' b* |% y4 F# \0 i( a this.RemoveHide(frame,objname);
, U! t( [& \5 w, d5 y Z% [ }; [: R# w- a7 @# N& P
}! I0 k1 }8 l3 R9 N& e" W
if (itemiFrames.length > 0)
1 k9 l1 e: F( Y7 N( ]4 ? {0 J6 E* t" w% d
for (var i = 0 ; i < itemiFrames.length ; i++)
# c8 |5 P; j; _+ \5 e& ~; ?" b {/ d, l5 [/ @1 Z, m/ B) u
iframe = itemiFrames.contentDocument;
; S6 b9 b( e- P0 B. u7 w this.RemoveHide(iframe,objname); + N8 |2 e( M% H& |2 ^; j2 q
}# M! B6 p7 Y& T! q
}3 C/ X& T, M5 l L
}
1 F9 w2 a* J5 [ catch(e). z1 z! ?3 Q1 F% b' J
{
! F/ g% `) Y$ ~" S4 A if(debug)
# }! M( H* e# I8 n, \3 Q4 N3 q. C {
$ ?$ I+ u* ^1 \: v9 j0 {* [ alert(e.message);
3 ~3 V) Q9 `& l: O7 r4 F }
% {$ Q- K: v- U! m( l' C2 P }5 X1 h3 m; L' y0 l
}8 J' q. d% Z1 p ]4 G2 D
% Y) B- l# z+ }% F* Q6 X4 d" r}. I, W4 a5 a6 V% `% U* O
4 r) G+ J0 s! V* e* p8 Cfunction getRGB(colorString)7 w- c3 N Y1 }2 S& m
{* ]+ [- E2 i0 Y8 i" m1 D1 m$ \
var RGB = new Array;" G0 K& _% o$ s; T
var tempSting=colorString.substring(4,colorString.length-1);
) S& A! Y2 ]" ?2 ?& v6 }5 ?+ w var tempArray=tempSting.split(",");5 x3 w# g8 v; a
& O4 `# n' P8 Q% [: M5 y) F
RGB[0]=parseInt(tempArray[0]); z2 O8 Z- ]$ L9 S g, c
RGB[1]=parseInt(tempArray[1]);( F) r* A% {9 q6 F# W
RGB[2]=parseInt(tempArray[2]);# x8 x- k3 p6 ~4 A% |- f+ C0 v
( H3 T4 J" j- B9 Z return RGB;) k- D. S6 A7 e$ `4 x
}" `* E2 A- P; r" e
function keys(evt)
8 z4 I, h/ b( M# r9 b$ G" ^ {
- p6 h) W' g9 `& d, Q if(evt.ctrlKey && evt.keyCode=="81")
* w3 |5 J& I) h% @- Y0 [ { + p3 `/ O% x) m. v: w
CleanHideObj.on(0,1);( a& Y& I6 i7 P# z E
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ( G* p4 M6 a) Y5 I' m! y
/ ?/ D4 @8 C% Z9 \& n2 d! f } o8 B! V. x% P: T# \: d
} * M: a( v7 c+ A. P5 ?0 Y
document.addEventListener('keydown', keys, false); : a& ]8 Y) ] P
GM_registerMenuCommand ('Clean Hide',
# n0 I5 D9 n9 U* W, E' @' I cfunction(e){! [: Y3 W1 U9 F* |
CleanHideObj.on(0,1)
4 j) i* F n2 j& o' @& c zalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");0 t2 }! e Y5 a5 v) _2 ?; ?* _) T
});, D( \* t6 g9 [+ R/ {! c4 k* J
|
评分
-
查看全部评分
|