|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ) E' P }" y% s, x
- j$ g. [: f% I/ Y( ]2 e
火狐插件,用猴子6 V, W5 A5 \' r$ `
P& q/ @( G u/ |2 s3 wvar debug=false;
* @6 c- o/ u" Kvar CleanHideObj=new CleanHideClass();
% A& f9 T% T3 W4 ]( ~* b- @8 n+ @7 J. q2 S# \8 x
function CleanHideClass() , w+ B; k- S* A0 |' V: ]
{
[. b5 U: O, B# m; x( u0 {/ ` - ^- M6 o9 D1 _2 { O0 I
this.on=function(id,bMZ)0 a0 X# L0 R/ O5 D$ Y% {0 i
{2 N! {! u7 J( g1 c/ t. Q, D
; o. N3 h$ L$ J1 [ if(id == 0)/ m8 N$ k- H5 P7 E' V# O
{5 I. b2 D: |, B5 K. {! u
var page=/* document.getElementById("content").contentDocument */document;
) @& J6 ` u9 h4 u V this.RemoveHide(page,"span");
) X: R0 V7 R. V( p this.RemoveHide(page,"font");# v# h8 |1 Y2 O* s5 K1 r9 @/ C0 b9 L
this.RemoveHide(page,"div");
* U% F/ I5 T! o this.RemoveHide(page,"p");0 w) M4 D# L; C: k
" ?$ k3 L$ y; N0 C( E9 h5 w& \* n }
1 o. y4 D! G; ?2 X1 o 8 K# u7 u) A6 [% s2 X
}
' L9 A" O! l$ w* [% @0 Y this.getobjstyle=function(node,prop)
4 J6 x) v+ A. e" n; E" o1 r) y7 z {# \ o5 w, K" D9 [6 T( r: {1 a, j/ p
try
7 B6 x% w! P: J: b: g9 ]! o {
' Q( j; U2 C' l) i return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
0 B" X6 m+ s" \ }3 r5 s C) I9 A; b
catch(e)3 o& r* T' D1 ~# z( J5 `
{: ?) v$ o# N1 H% e, {1 E
if(debug)0 [3 V$ P0 H/ G; d8 y% T
{2 G# } a* P8 ~% b6 |0 g
alert(e.message);
+ r$ k2 W5 b5 h8 I9 h+ \ }
x! K a9 q: `! w: l
; M$ q! N; K9 L. \0 l4 N return "200";
r8 @3 u/ ?. p }
" C0 L4 ] |4 S" ~% t3 | }
5 q9 t' v: T5 e: c7 Q
! M: X- `1 V+ z# L" h6 G this.RemoveHide=function(page,objname)# ~, z( b6 W8 h; p, I* R% W
{
$ J+ C' P- b$ D$ w try
& j& b+ M/ V& w- C. Z- H* N' _ {
: |1 m+ d2 I- [& D8 [ var minValue=15;5 c* }& u% B% C8 B4 k
var objs=page.getElementsByTagName(objname);
( V* \8 s w2 t( r: z
3 i9 E* t0 c/ C if(objs.length == 0) ) J: W7 n' w- z5 b) m
{
3 f! N0 q1 V" X. `3 d7 K `3 \ if(debug); J* x7 t; P" j. z0 Y* T
{
! ?& U% {) t0 Z x6 g: I9 W alert("no object found!:"+objname);
- h* l" j9 I. L! a" d' m" [9 R }
. q1 X8 ^, {, u/ d3 f/ P }! J* z+ |6 ?- E$ s6 U3 h4 B
else
" ]4 m# H/ Q4 h# s- }4 W {5 m3 s" t/ f1 L! b/ m1 C
$ m* ` Q+ T4 C. d/ i* K for(var i=objs.length-1;i>=0;i--) / L' P: ^* X. q3 N; ^" A
{
1 x; `( ~+ Q' |, I# k! z k var node=objs.item(i);
, @; E2 F t: y5 ?9 I. a/ r/ q$ s # R5 K* U( N/ F0 G/ k- t
3 ?: n2 Z. N; Z$ S M3 L
if(this.getobjstyle(node,"display") == "none" ||
1 c A, R4 ^+ P% ~ this.getobjstyle(node,"visibility") =="hidden" ||
3 H0 T4 M: B/ f a parseInt(this.getobjstyle(node,"font-size")) == 0)
4 u+ A9 W$ M/ W" D5 n {9 `0 g4 G8 `& O. j# p: J0 D _$ O
if(debug)) y/ U5 h% s/ N- S; \9 x' i2 h
{
7 K0 E7 N5 K# X! J. a4 M' j. e alert("remove invisiable!");
4 m" q9 Y# ]" t }8 j1 Q$ T/ H( K2 W
node.parentNode.removeChild(node);8 ^4 ~/ y$ l4 y6 }0 G
( q' m0 h' d0 Y; F3 ^
}1 a4 @6 `+ J$ y" ?) {( q/ i# e
else
( z: v0 `5 ?8 W" w3 H0 X$ X0 h3 v {
& j3 ]5 f$ s" ^: n" u) e6 M if(node.parentNode) 9 Q' n# Q2 Q# `
{
3 k0 T F2 |9 p- e" G6 q0 q$ k var orgNode=node;- @% I( \* F: d5 ~
var orgColor=this.getobjstyle(orgNode,"color")/ k q. Z+ H: `) C7 v
var orgRGB=getRGB(orgColor);
' y- G. @+ ~* d$ m: w- ^( @( }
4 m6 a. ^4 _: W. u' \+ {& E var parentNode=node.parentNode
1 D8 d9 ]9 ]0 L' r2 w2 c var parentBgColor=this.getobjstyle(parentNode,"background-color");
; C7 B( b& O7 a7 l8 ^& ?% Q! B 3 {; u" t6 G: [# V$ |% u2 y, n( \: R
var isLast=false;6 w- h5 J$ s- g! H+ R; m
# s H$ @4 q b' e4 b while(parentBgColor == "transparent") ) r" p* j M4 I5 h/ v0 c* R
{2 v8 ?$ s. S4 n9 Q$ y8 j7 j1 F
/ r0 Q8 g* `9 {: L' e " W! }8 n* ^4 P; I3 w. F% U, d B
if(parentNode.parentNode == null)
' N! u# y8 F0 k {
3 `( J& E3 j6 r/ t" Y isLast=true;
: r8 ~* I2 h$ f) l, j break;! b& C2 i+ ^1 R0 `
}
4 j& { _- `7 p' Z! Y" k2 k parentNode=parentNode.parentNode;7 k: H" Q( T2 L [% E1 `' g1 D
parentBgColor=this.getobjstyle(parentNode,"background-color");7 g& w$ }, i5 O9 X
" T2 m. t' C x( g9 b/ T$ v
if(parentBgColor != "transparent")
! o/ b& k5 r$ z9 l& R& ~ {
# w( S4 f1 ~* v6 X+ {1 Q) } break;0 |# {. i8 G; b* k& a; |# l
}
R1 K/ \4 V% g' y0 U( T }
, Q% b+ m6 \2 j) ]; W, ?# O if(isLast) 3 x( k7 W4 e8 o' p5 e3 r$ W4 B
{
5 @0 j5 h& |8 o" a4 G0 _; \ if(debug)
( E, @+ `6 |& w( p* k {- k. M) R# a7 c. w
alert("last!!");
' y5 _+ n5 y$ m3 i }
# m" f) u1 _3 R T M! E# J& p if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
/ M4 U# y0 @$ {+ F; _ {
) M* v, h) \$ E. Z9 H! b" c orgNode.parentNode.removeChild(orgNode); : J5 t: Q0 v: W. X2 D3 `
}, m6 {2 s( @5 g( o! k7 V& @
}/ t! l/ @$ b5 d
else
3 a3 J; g7 B/ U+ J! K/ f) M {$ C- r/ C, _$ G
if(debug)
$ g$ C$ W5 O4 Z" D, K {! f6 A# n6 c8 \. E/ C6 j
alert("compare color and parent bgcolor!");
- B4 l( X6 X% j: M! w }) `- O6 \# p9 ^$ R1 D6 I0 k
parentBgRGB=getRGB(parentBgColor);
6 K/ a' L' G4 n( w% l; Y3 T D if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
6 [2 D: Z6 y; T u6 s7 N3 Y {+ \. Q# ^; l, ]/ ^ h; }) Q+ P
orgNode.parentNode.removeChild(orgNode);
7 w/ N* A& g. j: h- u }
/ b, ^! K- [3 ~, ` }0 U& @. F- X! f
}# K/ Q- O# X$ N& w7 w* p
}& C- m. M! a0 W0 q, ]: Y
}
) G+ v& p+ ^' Y4 X }
# f* O" w: Z( p5 E / Q. @ M+ T" ^2 C0 C. y
. W" j! z( ^ k
var itemFrames = page.getElementsByTagName("frame");
) Z f. R p) Y/ _" ^1 O y3 d var itemiFrames = page.getElementsByTagName("iframe");
9 t! f+ L; s" _" c1 w
I7 X2 e0 `. w3 w8 `5 t {( j var frame, iframe;2 W, r# R% G0 f! A8 r- e) }6 r
if (itemFrames.length > 0)% G9 Z3 D3 S- ^7 |' i6 m
{
9 p. u; U) F" z& A4 N5 E: x. {5 k/ \ for (var i = 0 ; i< itemFrames.length ; i++)
' e+ a/ ~: K/ g4 G* p4 j; E {$ g! e4 G. [0 d4 Y
frame = itemFrames.contentDocument;( J, m' g" l5 S9 D5 }
this.RemoveHide(frame,objname); 6 Z% |! G4 P N+ R# Q. \% B
}/ h ?- H9 @1 \3 i, H; c
}
2 P4 ], i0 K* P if (itemiFrames.length > 0)
: ~% e9 y+ d+ p: n9 J4 a- z {
# i' B! Z( P* S0 |9 [ for (var i = 0 ; i < itemiFrames.length ; i++)
1 n! _! E7 c B5 x5 R9 | {
5 @3 P- K0 s- }( J* ^4 W iframe = itemiFrames.contentDocument;: _& R. }( g: z% i/ A
this.RemoveHide(iframe,objname); $ i4 j2 O1 f1 i9 T
}2 |( \% z( w: a0 w0 T5 M0 V
}8 p! t# q2 \$ ? U2 h% l( |
}3 {% K+ c* I$ f! D J d
catch(e)
4 j% D% d5 \+ S {
$ s% u5 H7 q& h4 n if(debug)
+ {* M# d0 K7 I {7 C/ S4 m# [, I3 I& ]
alert(e.message);
" J8 T; |8 C4 n6 h/ ^* W }
9 _4 b _4 k n6 I t9 h }
E: f _7 C! s# m }
9 n4 J u/ M# q) W3 {
8 w* |( W( A) ]4 o7 s0 R* o}
! `/ ^4 K0 `4 L# q
8 I7 M* B% L, Gfunction getRGB(colorString), i8 k6 R- u0 i, N1 w9 u1 N
{
& H' q. C9 N I: t' H+ ^0 P var RGB = new Array;& b6 }* |& i! i% Q# H$ w
var tempSting=colorString.substring(4,colorString.length-1);! k, [+ S2 b- f% f8 R
var tempArray=tempSting.split(",");5 H& @9 k" k* V: c: d
1 ?) b3 K: s2 U9 F
RGB[0]=parseInt(tempArray[0]);8 L: Q7 ?, m; C$ A9 U+ a0 M
RGB[1]=parseInt(tempArray[1]);9 m. f! g) D/ q1 Q+ W2 W
RGB[2]=parseInt(tempArray[2]);) g# n/ d# b$ n! V! e) C
! S. f" k8 R1 d! _
return RGB;
/ c( ]$ r0 S* u+ T# R4 B5 w r- q' a6 T}
. i# l/ C- K% M( zfunction keys(evt)
& ^# p) [, f* z# ^' T! S( U) B {
+ O- ?3 N) Q1 ?$ g0 z* K if(evt.ctrlKey && evt.keyCode=="81") : X" V/ o' l0 q1 E
{ 0 f. ?0 l6 V: o6 b8 x5 z R1 p
CleanHideObj.on(0,1);3 I1 W/ Y" |' B' `$ ]
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); % d$ F+ v* J8 x6 `, J3 A" B: r9 E
/ H: b; k$ e" P9 ], | } : o( c/ v. z% n0 W" {
} & A" O6 r+ R+ G0 D
document.addEventListener('keydown', keys, false); ( y" ?' J/ ]5 V, l0 m8 n) `
GM_registerMenuCommand ('Clean Hide',: D+ R- J) |( T7 I- x. i) k3 M
function(e){8 Z* |, e, h$ x3 t1 |4 E; w, ]
CleanHideObj.on(0,1)# ~* `% x: ?3 u, Y: T
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");8 m; U0 O5 v. P9 N: G+ A/ M8 a$ K
});
8 X2 y# f3 \$ j1 G% y( u |
评分
-
查看全部评分
|