|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
) D; ?2 b6 T7 [% \9 K! e4 G
# x# Z6 k7 `9 @& J6 V火狐插件,用猴子
3 g$ X7 @% _+ V0 T
, t9 m0 h4 k& r6 O4 T7 `var debug=false;
. C! M# U6 u! O0 F9 q5 n+ Jvar CleanHideObj=new CleanHideClass();
7 o: e! |4 l4 k) f$ v% y
) `9 p1 W7 l+ \0 J* j2 Ufunction CleanHideClass()
8 H) d& G: A2 J4 S& z7 U( f! O{ 6 x; k& g: q, c! B6 c5 m; U) u$ f L
4 |4 a" J8 _0 H% E& R1 _ this.on=function(id,bMZ)
- e, F9 h: u! Q8 Z" ~4 w' h$ H {; @' a! j3 Z. v
* r6 K5 g& W; v4 ?
if(id == 0)
6 |1 ]* U D; ` {
D' X9 a8 t1 R0 X2 Z+ K, m' R var page=/* document.getElementById("content").contentDocument */document;
; h; T; z; j/ x1 {) V this.RemoveHide(page,"span");+ _& C6 W( u3 V6 ?+ E) x
this.RemoveHide(page,"font");* f4 }; ?: E3 O# }) h: k$ U' S+ j
this.RemoveHide(page,"div");
+ w# E* g2 ^* ?$ l& w2 t" R this.RemoveHide(page,"p");
# D6 g5 @9 Q; A% m/ M# v. m6 s9 l# y # b. v# A8 S5 f- u* a* s# s& B
}7 ]& @3 r$ B1 N: p, |' ^
/ Z5 x, w+ ]3 A7 x6 M/ o }
3 k% a) M4 T T3 F) k( o this.getobjstyle=function(node,prop)7 b! `7 B3 v1 D7 J, P* w. X' L6 {
{! n' e' L+ j* ~
try
3 `! W9 |9 F6 ~: E' X {, ^" ?* }0 V8 r; H
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
9 P1 r! K$ c5 z. r, O }; X% i8 r5 {, ^7 ?3 c
catch(e)
! H! S- ]4 ^# x {6 a6 }& |/ w; a3 g) z. m
if(debug)
7 |* }3 m7 W$ V' }0 P" Q- W {
% Q3 ~6 ~. t( Y6 ]# W4 p7 I9 t* Q: e alert(e.message);
' L1 A; `2 r3 P }
! h; v. {* e: u % z8 L' K( d# ^% P8 R4 y1 x
return "200";. J- G8 s8 c, @% Y
}0 ^# v& |+ b1 k1 W
}8 {5 z( N& X# }" Q
# g. j5 Z, V) ~! | g& }/ i5 Y
this.RemoveHide=function(page,objname)
' V7 P4 Z, n6 N4 h {* x2 ] v# u" Q0 Z) \8 [, g6 O
try, L! w: n5 k. X
{
$ n& H+ R. t, H$ T5 C9 r$ c B, S var minValue=15;
, }' N- l' |9 ]2 X var objs=page.getElementsByTagName(objname);
0 J6 X; J, R1 `* k. C; e: M( S' `; v
if(objs.length == 0)
- G0 g9 P6 C; c8 R {
% W! s4 ?5 F# j" \; h, P2 b3 P3 v if(debug)
, R/ W' ~4 s& i8 d9 I. p' }/ ] {9 t: v1 v# a0 i4 M/ j& A5 N
alert("no object found!:"+objname);+ q* }% z: y, V% j' K) A
}8 Q5 u3 _ k% f0 ~! ^- ~, V2 x+ J
}6 m2 U7 W5 G: g- h, |' I
else8 B( h% s* J) m
{; z( t$ O+ x9 q$ s9 i. j* j
* n: U5 |7 E: T+ v7 {0 {! I) t
for(var i=objs.length-1;i>=0;i--) + F' q8 H b4 U$ M0 |
{
4 }* F) ?" o2 M var node=objs.item(i); % a, f4 c5 V/ j- l' s2 d
. w" y) y) ]3 |/ }! N, `, }5 o
6 H( {# e" V1 B9 K, m, T' V2 R if(this.getobjstyle(node,"display") == "none" ||+ k, `/ z l3 i1 ?; ]- E
this.getobjstyle(node,"visibility") =="hidden" ||
- ^% J5 B$ t5 b+ E4 O parseInt(this.getobjstyle(node,"font-size")) == 0)
! e5 T8 k) E, M( O" [) { {) o k5 f; L2 W
if(debug)7 }$ L* N* [& Z5 o8 i
{
: x1 a2 ~3 A% p2 ~% c9 P9 _6 G6 Z alert("remove invisiable!");
/ D; U# q. K, i } g) ^+ i' ~1 i* u7 O8 |
node.parentNode.removeChild(node); O1 m% F* ]/ W8 e
& s1 X$ a0 y' Y4 M; I- Z% p1 Z }
" b' ?' d7 g( C else
8 V# I" v$ U. y4 T- @ {
: f5 p9 t5 |% s5 U/ X3 Y& F/ M* m if(node.parentNode) ; M% J9 h- p1 j. b2 l; u9 B
{
; _* ^3 D% n$ B% |, R8 ? var orgNode=node;
, g8 a" L: d. C9 ~ var orgColor=this.getobjstyle(orgNode,"color")
; n8 L* e) \3 ?! ^ @ var orgRGB=getRGB(orgColor); ; O% u' i4 P* N& z
1 W0 \8 _8 z; z; ^3 W+ |+ W, e' Z. R
var parentNode=node.parentNode) T7 O( P& ?- u
var parentBgColor=this.getobjstyle(parentNode,"background-color");
# d% y& Y+ Z6 e
* x# p0 M1 H4 {0 Z# }9 B8 p var isLast=false;6 \1 j. I3 h3 \, F$ x
' X O9 G' \; G, o* \/ J! U/ @ while(parentBgColor == "transparent")
, o" j8 ]/ K# r0 u4 d {# H: ~5 t, X# D7 |: |1 @
9 t" G3 J0 g- ^- N+ D
1 E% K. y4 a) D5 V% e5 v) h5 A4 L8 v if(parentNode.parentNode == null)
5 q( p5 f- q; Y i5 s {) [$ J6 s5 T/ ]0 b2 j
isLast=true;
1 ]- r4 |- T3 W1 `1 W! R break;
, q1 ?) n5 L! W9 l }
& K+ y: ?2 z. \2 x8 I' W parentNode=parentNode.parentNode;. V$ d; E2 k; e" p
parentBgColor=this.getobjstyle(parentNode,"background-color");
2 v: S* B! w! B( f4 P. c9 ? c) E: p# L* c- p! l
if(parentBgColor != "transparent") / L, {0 F2 a9 K2 Y8 w: N% [2 x, |
{- @$ d' w; `! Z0 N8 b5 z# ?6 g
break;# J( \' a; Z; H( o4 B% J0 w
}$ E% C$ _: y3 S% s
}
& t p) [5 I( t& p7 D( x5 X" s if(isLast)
$ |# x+ d7 b" | @) D4 M {8 }/ Z) Y# g: T8 n7 Q7 C
if(debug)/ l4 Z6 W0 H7 z; r* }
{+ j4 G7 k% l! H0 s
alert("last!!");
8 `* l+ g1 g9 ]9 u8 C }0 ]; k5 v& M! [/ C |% C6 {/ c
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))4 f# I3 P' z: u8 T* t9 v# y2 G
{- t1 F" e& |# r, f- J) u
orgNode.parentNode.removeChild(orgNode); 1 Q, M. l7 i$ j% w7 A7 V
}
3 b& Z) B" _; }( x# S7 y }
, Q2 f- J1 Y6 U/ c& g( L else
7 V9 |2 `! H7 |5 _7 ~; l- A {
0 ` z8 L% x2 y) z if(debug), X1 N3 ~1 \3 o7 C
{: s' W( G. A: k
alert("compare color and parent bgcolor!");3 R1 V [3 m8 J* t
}8 v7 H3 I% k/ |; R9 e1 }) ?1 ?
parentBgRGB=getRGB(parentBgColor);( D7 T9 F( L: p9 V6 u K3 J: F3 Q
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
! S( j1 W2 ?! v. @: b9 ?' ]! q) y8 b {
" v9 M, F, J$ Z, D: V orgNode.parentNode.removeChild(orgNode);
% b: ~( t% l0 k# ?9 [2 l }* \* [- |- J( _& s: m& C% ]- F- A
}7 m( W; [+ x9 @% V$ t) Z6 n
}9 Q) F! n# } f, l. f& r. a
}
9 s5 }& z6 `$ {( k) R }$ Z4 h0 r- u! x' J" o% y
}
u" S+ K' l N2 x4 s& Q
% J; B8 C7 r2 Y6 z! M% y. x& ]0 e) r5 I , v7 ?/ V1 r) S* ^5 X
var itemFrames = page.getElementsByTagName("frame");
% _8 O( s' v: u- O- Z" ]- ] var itemiFrames = page.getElementsByTagName("iframe"); N$ R- j; W4 S4 F) ^! q
& j0 {- H4 u& [5 F- f0 q, V
var frame, iframe;4 [+ v0 u1 w: G6 T4 U; Z* H
if (itemFrames.length > 0)/ N( K7 \/ Y9 P# p1 i* o* Z
{
( n) v. s6 T( W& c6 ] for (var i = 0 ; i< itemFrames.length ; i++)
; F2 _" m9 w/ }+ O# ?' N1 s3 r {
( m! W( K7 g0 h Q$ q( q, U6 O; i9 S frame = itemFrames.contentDocument;3 D9 a1 V' a+ r
this.RemoveHide(frame,objname); , h1 J( R' E9 R! c/ H* R9 Y
}
$ P/ l1 k( l( [! |( b5 ] }
2 K# H! O" D) G5 P9 z if (itemiFrames.length > 0)
7 ]5 d1 K7 n$ S, F6 j4 v {
; R; ^9 o8 i9 s' Q( O! T for (var i = 0 ; i < itemiFrames.length ; i++)
# M, H/ S: b# o l7 P {
, }& }4 j( I; s+ p4 x% G iframe = itemiFrames.contentDocument;$ Y, l8 v( j0 D% L* \5 i
this.RemoveHide(iframe,objname); 0 c' Z' ?+ W. S- r6 [
}
! T' I2 @5 U- o1 b6 a- \ i }
* Y/ X+ c+ ^8 f% O C }
. B: X& A/ n! G! h4 v catch(e)( f& P% z! n# w! X* y
{& f. {* |9 p# ~5 O ^- c! T0 o1 K
if(debug)# ?8 t$ z K) w7 k
{
+ P0 d# J' W1 R9 ~- L- {. E. _ alert(e.message);
! Z- e, ?( x$ a; x$ u- [! d% y }
; [0 r# ?& j; K) Q& o }9 p8 \2 U# H; z5 ^5 v
}
( k7 @6 _- L3 F J9 x
7 \6 E' Z) }9 W; L+ {8 n) N- n}
6 }0 u) Z/ L0 W) r6 I6 E! l8 ?9 [& h
function getRGB(colorString)
# [3 J0 K! y* V {3 m{
0 J1 ?1 e9 ]3 a& i var RGB = new Array;
9 E, W; g* l; W/ r var tempSting=colorString.substring(4,colorString.length-1);
6 \. v( \5 ?% x! w var tempArray=tempSting.split(",");
. W; s8 W' ]0 l9 V
c- `' B C& w( Y RGB[0]=parseInt(tempArray[0]);
( h ^$ ^! F$ c( X$ @ RGB[1]=parseInt(tempArray[1]);
9 p% p9 F; r' v4 [- p' @4 H% K5 [5 o RGB[2]=parseInt(tempArray[2]);
+ p2 z" e2 l; c x. X + u0 V0 `0 {$ G
return RGB;7 m( d0 I9 w0 ^1 ?2 `
}
8 r! j# B, w3 zfunction keys(evt)
+ ?; j( m* L& o {
. q# z% q9 p. }% _8 X0 _ if(evt.ctrlKey && evt.keyCode=="81")
' K8 Z# Q. D) A+ S; Q! ?6 r { V# j8 n4 M" \3 j* w) {, o% O
CleanHideObj.on(0,1);
) x- P0 B: F: s3 ?3 ]) ` alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
9 f* J. [4 j/ C% R. f- Q
; v8 Y4 W8 X! o0 H% I% K8 R }
1 O1 q3 f* E. I }
0 h# x- O3 w7 H8 z7 D8 ]. p/ {document.addEventListener('keydown', keys, false); 6 u& P! K! D U% d# j+ J! e
GM_registerMenuCommand ('Clean Hide',
- i+ _1 F% k. o. dfunction(e){$ {, v" ^- G, f5 `
CleanHideObj.on(0,1), `7 [5 c0 i% i2 Q/ O. s7 i
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");: C% h9 q7 L9 \4 X4 A
});
9 @7 [1 o! V) I( X' T- c8 e& F |
评分
-
查看全部评分
|