|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
; {' {) R* y+ b
5 a! h" |8 E' E9 ~. F火狐插件,用猴子
1 N' F& x% A; n% t; D
" X/ @8 E9 o+ X0 Lvar debug=false; ! X) p, w! X* }, m i8 ~( C$ t
var CleanHideObj=new CleanHideClass();
1 s4 U4 c! K0 x6 M! ~1 F
3 i4 l4 ^% E- K ^function CleanHideClass()
# s3 w' }* D5 n{
( l% m8 `9 U7 q# I' p- l+ ~+ | 6 t8 Z# w5 ?# X5 l
this.on=function(id,bMZ)
7 c ?" C5 Q' j5 W/ S/ @. i {
% b- G1 u7 G3 S" O: Z' X1 Z& _ " _: \9 d7 @% j+ j1 h/ ^) J
if(id == 0)
) z( O0 s! a2 H. b! Y {) a, v1 n x3 r% \' a
var page=/* document.getElementById("content").contentDocument */document;
9 G, R* l1 w, H5 ]( k! \: @ this.RemoveHide(page,"span");" ^5 r! |1 u) n( G
this.RemoveHide(page,"font");
2 G0 ]0 U; K8 j7 Z& q3 S this.RemoveHide(page,"div");
( L3 r4 D S5 \8 d) l' N this.RemoveHide(page,"p");9 c4 S! G% u% u9 D8 z
7 [3 l) c5 Y( W5 @: T }3 \) M( h+ `) j2 q9 h e/ @
$ W- ]" ^! `7 r6 r }. R: l. Y3 H+ t0 p K7 x9 j
this.getobjstyle=function(node,prop)1 ~2 E8 |4 d( w2 Q
{) D' X% g; O" G# Q3 ~( y" h
try
, `$ s' t- g; B {! a/ Y2 V0 d: l$ r" y. P
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
6 G! A7 ]" \' b5 l }4 B* j# X8 r# R- I
catch(e)
; `, y" s8 R( Z2 |$ q {3 i0 a( x" U/ {8 F# f* w+ B
if(debug)8 S$ h- R; X9 X' R6 m5 Q5 T* J) v
{! p) S: A) c6 I' S$ u, k7 Q4 i) V
alert(e.message);3 U5 e T. J5 _+ Z1 I
}, @! _( A: P- p1 ]- C& e' {5 F( A
) m5 Z2 u: c8 p8 w return "200";
+ D' F! C1 E( y# U; L3 F* H8 a' J/ h }
u; J, m! u) ?9 P }" j2 `! k! G/ x, i" g& L( U
( Q' |7 M* h, W r* c9 k- i this.RemoveHide=function(page,objname)" g6 p# v+ t% l5 I9 d: u" P% E
{
& N) A, }1 w g9 ] try! ?0 c8 |' |+ @8 A8 P
{4 S' c+ V8 M8 C- `9 N' n
var minValue=15;
. C. d# _0 L5 ? var objs=page.getElementsByTagName(objname); : e& G: j5 w) b7 _0 K0 U/ V
& D5 M6 P- X2 m
if(objs.length == 0)
8 X' Y5 H; a. A8 ?, U$ Z {/ V6 e$ D* L9 m+ H1 N" K
if(debug)
* N/ t3 J% V& L6 d {' K1 W- P0 M+ V9 y+ c7 W
alert("no object found!:"+objname);
6 f* _' I6 q' a& v4 E/ Z" I5 w }
9 i% B# f: r8 S Y9 X0 U# R }
" H( P( p+ h! s, }0 d3 c2 } else
2 _$ q v' ^- J {& V( r" |. [$ w5 o: d2 F2 i: Q
; N/ r0 ~/ [/ p for(var i=objs.length-1;i>=0;i--)
. x& Z7 C. Z. x3 s. W) _ {
" K0 {8 E; Z: I4 T& D% i4 A var node=objs.item(i); ! ~$ K# v- |1 \' y. p
- Y' B1 O+ o4 \2 i" W) ]6 g
, N3 |5 ?2 o7 ?+ U9 a( i ^ if(this.getobjstyle(node,"display") == "none" ||
9 {4 w! a* e% L2 S/ O, H( c this.getobjstyle(node,"visibility") =="hidden" ||
/ ]: p, q: P+ M9 @0 M+ B9 H parseInt(this.getobjstyle(node,"font-size")) == 0) & U5 U- Z1 g; K2 n5 b! v
{
8 I% X! n2 r' Y& ^& Z- G9 A& | if(debug), w6 k' M# U3 W5 J( y. v$ x7 t
{
7 F, j+ s: H, i. M) `& C alert("remove invisiable!");; T' C3 O. Z5 l T) {: @
}
" G3 w9 l) n& I* h3 G3 [# P$ l node.parentNode.removeChild(node); t' T0 p4 @" J
/ `# Z' F, I: N }2 Q8 r. V+ E5 {! |+ E G
else
$ f1 K( a( W* Q1 z4 C7 \. ^/ q" f { V( d8 X2 W3 ^8 m; I5 {2 k" b7 P
if(node.parentNode)
. S; j5 V) E! ]6 P% R {- }# o: q3 o$ m
var orgNode=node;
- k+ Y0 O) D( U$ Y var orgColor=this.getobjstyle(orgNode,"color"), k% }- U- M8 x, c) }
var orgRGB=getRGB(orgColor); + s; `& m4 p+ Q1 t G6 f
' W9 k1 U( v+ K# y1 S( e
var parentNode=node.parentNode
1 a, K1 [' z8 x var parentBgColor=this.getobjstyle(parentNode,"background-color");
' R. O3 b# Z `) t5 w+ G- e
6 z# j- x6 T' W5 [8 t var isLast=false; H |( _4 h+ d+ [) z4 G; L
( Z6 ^3 n" c8 G. K2 S
while(parentBgColor == "transparent")
* p5 W$ L, _% V9 ~! @7 u7 q# @. }$ t {2 w- j: P& P+ j8 \8 `% j$ i
4 e2 @1 [' {" x' Q# O( d, b( m. E
1 H. Z) I; x4 ?3 t4 w if(parentNode.parentNode == null)' l6 S7 c( t4 Q9 u/ i
{
( @$ ^: n1 c0 M, A+ g9 j( K: V# L+ `- L isLast=true;
# @% p1 c6 y- N/ H9 X B0 ?! W. A# C break;/ R# `" @; Z& `# `& T
}
* Z) \ `1 K' J' m/ Q' `6 \! Z parentNode=parentNode.parentNode;
. G u8 d- @ z( S( O parentBgColor=this.getobjstyle(parentNode,"background-color");
. I9 T) f8 K6 Q! M. S, K& w) f3 _* F" z) H& `# t4 _$ J
if(parentBgColor != "transparent") 2 g$ i: `! ~# {
{
0 s; \! k7 F, ]5 p2 A( y break;
* }: S) S- Q6 x* d }
( O+ M( ?3 e- U) I) |5 V) `, I' L" L }
0 i2 W% P3 i8 ? ] if(isLast)
z1 G l; u# n {
2 S7 p* c4 n( ] if(debug)$ l8 l5 {; F/ c5 Y8 \ y ?
{
0 i; C }' M. A1 m: j alert("last!!");
Q( r& y9 S' d _/ i/ r- N }$ ?5 Q/ M" X1 B; ~/ f
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))( d5 c4 D% [5 N, a
{; r( m) k3 K& j" D
orgNode.parentNode.removeChild(orgNode);
$ ? ^# ^! d, P } `" v- K6 p. D3 B# S) ~
}
7 ]: h9 L3 H& ?& Z( H4 m else
$ ~. k; f# Y. i* ?. V7 X {& G) B' u6 K v
if(debug)
$ v/ \4 s+ V, N) z8 V& { {
$ N/ L h, ^( a( f$ @. k8 v! s alert("compare color and parent bgcolor!");
* |6 h5 | R6 x, s }! d7 k+ V" T( y% D
parentBgRGB=getRGB(parentBgColor); g% |) f! U- e7 t9 H
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))( ]" g& W3 M% Q# y4 _
{3 }1 }9 L2 n' v2 f7 Y( N
orgNode.parentNode.removeChild(orgNode);
/ |1 M: `! D! W }
* p( k* z# k. w- \ }2 C) c5 |9 u7 }9 N% l7 @9 z! g
}
2 J( _5 [' n9 ?9 e4 g }; @. L6 W9 v( ?7 E4 i
}# `. z* r" W @5 T- E; f0 x
}. d" e# t) I7 h+ l) O
$ y4 ]9 p2 e! ~- O4 j. s
2 b, }) c3 d7 y1 _/ ~# } var itemFrames = page.getElementsByTagName("frame");; |+ t r6 U* z3 \/ Z; x
var itemiFrames = page.getElementsByTagName("iframe");
* R2 S7 v+ C' J% w ! E% l5 ^' j" r
var frame, iframe;! e* s; q0 t) A
if (itemFrames.length > 0)
6 \9 x/ s1 e/ D" N3 _( P+ c4 H# } {
9 }$ D, ?0 v- c; I: _1 B/ ~. ^ for (var i = 0 ; i< itemFrames.length ; i++)
- C' z3 Q4 T# V& q r {3 V* }/ \4 `4 ^
frame = itemFrames.contentDocument;3 M- w4 ]* x% z7 d2 ~9 M
this.RemoveHide(frame,objname);
5 i5 P- `: S; t$ N9 H }
0 h: t- h# ~1 ~8 L# q8 ~: Y }
; w ^, S4 d: E' M; ]3 l2 B if (itemiFrames.length > 0). K0 }2 {3 z: r0 M9 Y
{$ a' w5 n/ ~: w4 A, g; D9 V' I
for (var i = 0 ; i < itemiFrames.length ; i++) / H0 ?4 O# @4 J# r
{, J. v# |: E2 n7 J" X
iframe = itemiFrames.contentDocument;) ^8 |( {; z7 R6 H5 D; H
this.RemoveHide(iframe,objname);
. r, E1 C. o: g/ M/ ?( o( R; }& @/ ?: \ }
2 u. J. \* y) s7 s8 S$ H/ l }. p" E. x) _$ m5 f2 v
}
# J: L2 C/ m. s6 w6 ^ catch(e)6 p" M* _% H9 z4 d1 `4 S
{6 v/ E1 s% V r* x2 A' [: H1 Y
if(debug)+ Q$ c1 a! j3 p* J
{' n9 X) N# G ~
alert(e.message);0 k& `# p( L; m* N0 D6 G4 V% ~
}5 h- K# ?: `3 S+ y" e0 l! W
}
! B1 q; ?+ t+ A1 I1 l% \+ Q% K }( e7 I& w, j# m- T8 r
W$ [& F e. z: D& A: [}& ^/ W, Z" C0 o' V! A0 v |6 C
% f9 P$ P2 u0 _0 R3 q3 @function getRGB(colorString)3 L- N5 Q6 o; l/ ~. Q. ~
{! P( h' J1 N5 o, ?, c( K4 ?
var RGB = new Array;
Q! m9 {+ K, V, |- x' C9 z var tempSting=colorString.substring(4,colorString.length-1);- C5 o* N/ [0 R2 z/ d1 K& ?( L* W. c
var tempArray=tempSting.split(",");
* ?4 E( Y2 ]* H# P, O5 K- X; |4 s7 M& ^( j* c6 I
RGB[0]=parseInt(tempArray[0]);" ]0 J' V" _# ~3 e: a$ g) B
RGB[1]=parseInt(tempArray[1]);( `3 X; J7 K* H P. |
RGB[2]=parseInt(tempArray[2]);" h3 U- I) i1 s8 Q0 ^0 }% U
" H9 k3 J5 {( g
return RGB;3 ~. J! [5 h- {3 t
}
/ g6 O1 g3 W! ?6 u Yfunction keys(evt)
) s4 O# c6 j4 S1 v { 5 U: L; T8 L$ f: T, t0 v( [
if(evt.ctrlKey && evt.keyCode=="81")
6 M0 m$ }" n+ p" j { # z! H/ m8 d+ i, z
CleanHideObj.on(0,1);! r3 d. }" J2 n! a: M
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); + s( ~0 y4 O; P* d
6 r6 K9 D1 r+ L, v( }3 G }
6 r4 _- d$ ]+ s3 r# U/ [ } 1 ~. C1 B4 L! f5 _0 ~
document.addEventListener('keydown', keys, false); 6 m' u r1 c8 ?0 }4 z. k$ `) B; k
GM_registerMenuCommand ('Clean Hide'," Q9 n: \/ u6 ^1 B8 ?
function(e){
( P0 J2 \( d; d2 lCleanHideObj.on(0,1)
5 y0 P) ?, d/ @alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
, N5 J" }' s2 p8 G) |" C3 k});
/ ^, m$ |6 p" O |
评分
-
查看全部评分
|