|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
" h \% g. M% o k* O! N( ?2 l- q; c; [7 U$ j8 s
火狐插件,用猴子7 ~ l: k9 {: J* q' h1 u$ ^) p
7 H9 V$ P, W' B/ k' b! yvar debug=false;
' ?0 l9 J7 v2 }5 p. S, J5 evar CleanHideObj=new CleanHideClass();$ {! M7 g% q9 y+ y- f
) ^* l! ?3 H) z. U7 m' A7 e" s1 J
function CleanHideClass() ' A8 ~1 ^6 y; D8 n9 b
{
3 h" X) t/ c, J7 I9 d& ]" q7 h% a
y, N! R7 T9 |) E) q$ q) n4 u$ B this.on=function(id,bMZ)
/ j" t, _ ^8 G8 j, \9 s {7 Z; z: L U4 \4 q3 L
: d4 x! `. L, h1 o if(id == 0)+ B7 }7 Y8 o! w+ S& Y% S0 v$ o3 B
{1 e; Q7 t) X1 U; ^; `! k7 Y
var page=/* document.getElementById("content").contentDocument */document;
- s) }2 o* `2 r; K" ?2 c this.RemoveHide(page,"span");
) ?% ]6 t3 B' l( Z/ x this.RemoveHide(page,"font");
2 t2 F% q. R% |; f this.RemoveHide(page,"div");) J% M5 ~/ c m; u) E
this.RemoveHide(page,"p");6 {/ a2 a- b) t" O% |& O: B
6 Q- [" b. N7 S1 K: p) Y ?) O. A }. l0 V j1 V; V4 |, B5 X
2 H2 T9 T( d! V/ _9 o. I6 A
}
! z+ {0 p' N6 I this.getobjstyle=function(node,prop)
+ T. }& U) j: v! y3 Y9 M {$ X6 E7 R$ ?* A5 a J: b4 O2 R6 A
try- Z, }3 n1 Z) U& K$ q8 [8 a2 s0 d
{
8 h {. k" x3 X7 N" R. U return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);8 Z9 y. ]3 w; y8 w5 P
}# `+ k0 Z0 D: L, m) |5 m v
catch(e)
5 a8 z# f# b9 { { g. o3 ]+ U' n+ L$ `* h: ]/ H
if(debug)
7 n* ?9 _) b* c {
! P) |* g; o2 D- Y) n5 X alert(e.message);' [" m5 m9 ^. }& P1 e6 D
}9 L) ?2 W3 w9 G' w+ a
3 o, e$ O5 |4 B# e+ h3 P9 Q return "200";
8 b2 ~- b- I" s- M2 d# H- k1 h }
* f" n) ?( W/ G4 _ }$ Q( {% h( A; F+ p: V, b
5 a8 X# B8 ~. v8 R this.RemoveHide=function(page,objname)
9 c$ R. U; H8 p; g7 x {
+ h" \- g4 v! o0 D' T try5 k6 X* u; E- O6 m( P
{
7 O2 c3 j2 ]$ L2 \& Z var minValue=15;
/ W% x! m4 K$ P* \+ Y% H) N- M var objs=page.getElementsByTagName(objname);
$ o3 {) O7 R1 f* \# c( ^
3 D2 C& C# n7 E9 ]/ Q0 V7 e if(objs.length == 0) ( g+ q; q/ k" v9 f ]. z
{# }/ v z5 G1 ^, `( s
if(debug)
7 r: g9 E; ~) m j. ]9 q! h* p {
8 e5 m6 A6 V# d7 M! B6 H! p- G: v* `! o alert("no object found!:"+objname); R/ S- C! P( e- f l/ F7 ^/ ~4 z; I
}
. P& s0 s) e4 Z& e }
# S$ T2 h( j) g8 E, v else
* _5 D. n& ^ x3 d7 i6 u {
) Z5 T+ i8 d* f+ g5 V. J5 X ) p2 _2 }7 ?# b: b( l
for(var i=objs.length-1;i>=0;i--) ! Q1 X( E; L2 F
{6 |5 V! [: j+ J/ n- a2 d. X! K
var node=objs.item(i);
: I/ T* R" h! c- u! I. K
8 P5 L. @5 U2 N7 f
6 ~$ B/ J- z n7 M* b% n if(this.getobjstyle(node,"display") == "none" ||
8 D2 t, w5 l5 i- Y/ H, M) w! d this.getobjstyle(node,"visibility") =="hidden" ||
9 q, |, L; }3 J; L! K parseInt(this.getobjstyle(node,"font-size")) == 0) + P4 B5 R5 J. o! }0 t9 E7 d" O
{: @# o( D$ y" j1 I1 H( e) ?
if(debug)7 b a9 a2 E& a8 q
{
! _. \% t# u1 g2 T3 V alert("remove invisiable!"); q# R8 H0 D& U5 j( G+ G1 d/ N2 Y
}+ G1 G' _, r" b! |7 h! o
node.parentNode.removeChild(node);9 t7 F; N" _5 W# @% ?
& U9 U$ [; X) d) P, n$ t3 i }5 \) ]7 I6 {, f8 \
else
- m, p9 [9 r# }9 n* Y. f0 s- W {' x. g, h$ J" x4 P5 z
if(node.parentNode) + P0 U- o# R5 }
{
+ q- c' I! r" I var orgNode=node;
$ Z! q7 b, `) g' M var orgColor=this.getobjstyle(orgNode,"color")
1 A2 p0 ~3 C& z9 e( n var orgRGB=getRGB(orgColor); $ j3 R z l2 A1 J* k |7 e/ f* g
) R* _) f+ l5 F0 `( `9 t
var parentNode=node.parentNode
4 G) l" w8 l$ Y. O) s8 N& A var parentBgColor=this.getobjstyle(parentNode,"background-color");2 ]6 M. K5 d7 o I8 u' G
9 b" B1 J) i+ |: H# P+ ]
var isLast=false;' I/ L3 a5 P, T4 y" _6 x1 _
% Q4 \# Y5 c, W; f while(parentBgColor == "transparent") " C# L9 M/ d* G# D0 S' A
{, M6 g2 h. d! ? x6 `* T
7 |: J/ Y! r I1 b7 E6 W: u# ^
; i. Q0 D4 o% u) |. V
if(parentNode.parentNode == null)' ?+ x+ U7 Y' r) r* M( @- f. L
{$ m1 C) I9 f( L' o
isLast=true;
# D# I8 z0 o8 Y! U' j9 m break;
9 U3 I$ {6 S! o/ a+ V5 O5 F3 g }& M' M' W3 w" F, d/ J( P
parentNode=parentNode.parentNode;
# j' C) {: v! K& ` parentBgColor=this.getobjstyle(parentNode,"background-color");
# M& T! n3 I) k7 y6 V
; e7 W1 ?! Q- g- @& g- C, b4 X if(parentBgColor != "transparent") & [$ C" X2 H# }6 p" a+ ?' x
{
0 M( E5 q9 W$ ^ break;$ b7 d9 b7 n, p" ~3 z- I; N
}9 V& H) c/ v! b! X
}
7 v8 H8 Y- W, Q" u' T if(isLast) 9 c& s1 B6 }/ M5 C
{9 Z* Y! d3 ]* p. i
if(debug)
- s* N g( Q3 g8 s5 d# p {
# ^/ `0 x% T" c4 ` alert("last!!");* l% @6 |6 N0 b. M' w* U& _
}
. ], ~' Z- ?/ J! m1 ^ x7 i if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
# n3 i4 O' Q6 ^6 E {+ R8 s% H* R& ?% f" D
orgNode.parentNode.removeChild(orgNode); 1 s) W$ R4 t. j3 A: T
}
. k8 @* w+ [' P- w- d; M L }
: T! g- f5 @ f else
7 K- `3 x6 R3 c: f {
8 B4 Z% Z, {" e3 j: X if(debug)
+ h! L S% c" L4 y8 |1 H5 y( j, n {" q, p& l' ^" p3 Q4 D; k' t
alert("compare color and parent bgcolor!");( a: `' T+ N( p/ A; ^
}
7 [/ r. l1 }# P1 z# y parentBgRGB=getRGB(parentBgColor);* ~0 ~0 V9 P6 @
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))9 s7 z; R! k" n, X% v, V& A& o; ?! N
{% D! m/ r \. P, |# Y
orgNode.parentNode.removeChild(orgNode);
+ ?( t9 V: x; J2 K1 z }3 Y) V1 h1 T9 l2 P2 i: _1 _; D
}
7 b7 C( M: q+ [# j9 B6 \8 u }
/ y; c n2 V3 i* O: @5 Y }/ k% W1 N& S' I. r# x- q
} N' r2 F+ @! O+ g( B9 c1 K# h* s
}
) i5 S7 `, J8 u8 i) \ / X. X$ _5 S6 {. m) K; C# C
+ B! |5 _, a! [
var itemFrames = page.getElementsByTagName("frame");2 e3 n) R# h p- X
var itemiFrames = page.getElementsByTagName("iframe");0 [ i7 _- b* Z- Z
- L: y: L9 A, s& t8 [
var frame, iframe;! P2 b8 n) I( O- `
if (itemFrames.length > 0)
* u2 B4 Q( W7 a$ \" Q5 O {+ D+ S* N% U) F1 ?( v: `
for (var i = 0 ; i< itemFrames.length ; i++)
" r& S8 a8 ]' V, a( i- w1 I" j {. L3 E( ^0 ~8 i, z1 a1 t/ ?
frame = itemFrames.contentDocument;( I' [- t8 A0 _" V" [+ V
this.RemoveHide(frame,objname);
7 @: b# k3 k; y }* o% Y: o0 R2 o9 d
}
/ C$ S' }3 ^: h5 o, w: ~ if (itemiFrames.length > 0)
; R/ [- [" v% f {
* x( K5 {$ e: i/ I% ~ for (var i = 0 ; i < itemiFrames.length ; i++)
. e/ x; U1 G3 T( p- f {
1 R4 f& E7 n3 p# U1 }" ]2 K iframe = itemiFrames.contentDocument;- g* V: W8 F8 t8 a1 G) [6 E# @
this.RemoveHide(iframe,objname);
9 o7 ?4 y0 ~3 s: n4 Q, u$ e }; E6 a m1 F T7 q( U& H
}: K8 d c$ Y1 m; _4 |
}
0 k$ p- `# X5 ^0 W. Y7 \# W catch(e)
: {( B7 e$ w1 ^& _* B {
6 o( o" U3 l% ^7 S if(debug)
6 G" s* n7 [4 y9 j6 }" [- r$ ? {) J) S# k& x" ^( L7 `
alert(e.message);
( j5 k8 _& K! [ }$ Q. W( l# l" i
}8 W" K! \( T, F" |. v1 o
}
# ?/ o _2 w' _, H% R
) |6 S6 c9 U3 b' v3 s( m}& R: [, ]9 d ~8 `5 q
. P- d2 E6 ]+ {; a. o* m
function getRGB(colorString)4 `: C6 b1 ^% N
{$ `: i2 ~9 v& c# [
var RGB = new Array;
% n2 H7 K7 ]% n! E. z6 s1 A. V var tempSting=colorString.substring(4,colorString.length-1);
' t1 F$ a1 a. l9 e9 C& b var tempArray=tempSting.split(",");
7 G& a, M& N6 N, |/ `$ G8 _- A/ G6 }% L% v& k
RGB[0]=parseInt(tempArray[0]);3 b" H' r+ f5 |2 i# q+ }- C' {
RGB[1]=parseInt(tempArray[1]);
! E3 e4 Y* h* e# Y. w RGB[2]=parseInt(tempArray[2]);
2 E9 m+ B8 ^2 X$ S) U5 J6 M
# K5 E" K$ O/ A2 x7 n6 X6 v- N return RGB;
4 z( a. F- v A7 Z5 `, Y}
. u( f _& }! R9 ]: R) n, _: Cfunction keys(evt) _0 z. x8 c: H/ E g* K+ T. ^' b
{ 2 |" x8 n1 j8 g& X; e C
if(evt.ctrlKey && evt.keyCode=="81") ( m2 q/ s% @8 d6 U- a
{
4 h% \" b: g; w" ^ CleanHideObj.on(0,1);
) t T: H" {9 G$ i% ` alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 8 B# D* u: [8 e: ^; g7 n; u
8 j1 e+ r6 q5 P+ m H }
. S- Z+ p1 D7 J1 Q! f8 B/ i }
! {1 v4 Y& X, c* U& T# B: H8 Qdocument.addEventListener('keydown', keys, false); 0 H) x7 @1 k9 J$ }! K- u! b
GM_registerMenuCommand ('Clean Hide',
, ?2 r [3 Y, A8 Z5 x: [ ifunction(e){
% T5 C* n/ j; a/ yCleanHideObj.on(0,1)1 m# h) b+ c" r4 d a. O. \, D
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
" V" P# a; h; }});. f" v3 A( q. O! L5 O0 {0 g$ z
|
评分
-
查看全部评分
|