|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
9 c, h1 }/ A7 I& r9 P! `8 q/ }: T7 U- U. b5 {) h* y) V e; a
火狐插件,用猴子' U6 n& W! q7 I$ Q/ d5 r1 C
* }" W5 e2 C7 `& Pvar debug=false;
6 E6 ^" p) U4 P H0 ]1 H1 L, ~var CleanHideObj=new CleanHideClass();3 ?% R# E1 {+ p* f; G# L
6 m9 i: C3 t; I5 A* u$ |
function CleanHideClass()
: k% p( e9 m0 P5 E, W. o" p, Z{
2 |# _. y) \; K; ~6 u c - ]7 w- S; E9 v! Q
this.on=function(id,bMZ)) @1 y# k' J: h$ r+ a9 Y! p; f' w
{
6 h7 R* t* c$ f0 K7 m 9 m. T; O5 P) U; k) M
if(id == 0)
+ {$ `8 K2 A+ `1 t) V% M2 l {0 k. L! ]0 f* Q6 @: F, o
var page=/* document.getElementById("content").contentDocument */document; 9 z4 l, m9 m& C" U1 n( j; o
this.RemoveHide(page,"span");
. }. a1 K8 d* l+ B6 W this.RemoveHide(page,"font");
, P8 }/ M! @! j3 n# P' F* O this.RemoveHide(page,"div"); H9 q4 @2 O3 Y* i' m
this.RemoveHide(page,"p");
: N, u) Z% t+ Q6 L
9 M$ t- A0 z" f% v }
- ?+ \$ E, U. K5 J" n. g$ L 5 G* J* B& E3 N* D$ c* I
}0 o8 H' S; U% ~) _9 e3 e5 o" N+ D( G
this.getobjstyle=function(node,prop)$ I4 d. G! h$ Z; p R, Y1 l! `
{
# }! u. b% h+ R v" ~4 C: v try
) H. c" V% U* T {
2 C! H" }/ m8 D5 ?9 z. x% v% D# | return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);9 s+ c, P" n F( n& c% D
}
5 }8 N2 Q! m7 y, D4 ^1 | catch(e)
' @" d3 @1 }4 Q {$ o1 O7 K) R. `. }7 n- ^
if(debug)! ^2 L( _4 P* v2 G( p3 W/ R7 _: {7 b
{ E7 |* U' l! U2 O" X m3 w- o
alert(e.message);7 u2 w2 M3 i" X N: R1 O5 ~
}: Y# b5 |. K' @
( J7 k& }; @2 ~, k) h) S return "200";1 n- _- p0 {5 H, N; \4 W
}
6 E5 U( ~* f4 ?5 O/ f- d }
9 k o) E: S" I6 p8 ]* u6 [
2 o3 j( E2 r2 Z( \ this.RemoveHide=function(page,objname)
9 A1 T0 q3 w' ?5 q$ Y8 Z0 I {
$ d M, F- x/ \. q2 R! e try! u+ z+ W e1 r
{
" w- p e* Y g" i var minValue=15;
# h% j: o$ L' K2 J+ E var objs=page.getElementsByTagName(objname);
) f' r. E) h: q
) q( s% U+ ]2 E; s# ^& B if(objs.length == 0) 1 T3 ?* h' u0 {& w
{
; f0 N8 Y. [. w) k; S* F2 y if(debug)
+ x R% O; X, D8 ` {
" J! K% g0 v3 q( H7 T alert("no object found!:"+objname);
5 P: Q% M. N+ B9 i. V( n, p }
- u3 o! F' ?" J' G8 T/ s$ g }
: ?3 M) g! C- m else
# c4 Y8 o$ V% B) N; r {* |; |7 x$ s( s1 L. \2 N' S
+ Y# ^/ K" t# X3 d8 @9 u
for(var i=objs.length-1;i>=0;i--) + Z; |& d4 | V9 N& J; M
{
* V: ~% s8 f; W3 G t8 u% i s/ z var node=objs.item(i); . l( @ B( ]) [3 v
( s; d: I8 ~: a! _
: b, b# ^- w/ ~- ?5 p" {# U if(this.getobjstyle(node,"display") == "none" ||- d4 z9 k5 C' ~9 e3 D
this.getobjstyle(node,"visibility") =="hidden" ||
3 w% x Y0 Z) Z! `7 t: j6 E parseInt(this.getobjstyle(node,"font-size")) == 0) 7 o! x9 B" Z, p) g3 {
{) s% b. W: p% c* t
if(debug)% c( z: [0 P& ]- V
{
7 g/ c! b! m& x0 }, r- i alert("remove invisiable!");9 a0 W7 q* K+ t+ o4 |
}9 C4 O' u4 C4 d C0 `; Z, u1 w- K
node.parentNode.removeChild(node);. u- ^# W x7 ?$ A2 b; G( m
& E8 g% [! _9 n/ F; D2 { }8 T, w$ v: C4 G$ Z( n
else
, I" z/ D4 r2 Q3 E" Z/ [ {2 P2 R1 d1 Q& h9 w
if(node.parentNode) / s& D. s$ r/ {
{
/ \$ a# i0 ?: T) \6 n" G$ C var orgNode=node;6 |0 B+ ]& \, N; v6 N
var orgColor=this.getobjstyle(orgNode,"color")
: f0 u5 O9 I/ s( r5 P var orgRGB=getRGB(orgColor);
# |4 s- g7 s* y9 R! i. b7 P
8 t- ]8 t$ p# `( h3 q; Y, Y var parentNode=node.parentNode
/ a6 P8 [* b4 X4 _ var parentBgColor=this.getobjstyle(parentNode,"background-color");0 H& W4 y: a2 i: S1 [
. k9 W: m& U( h$ _8 G z( l! o( I4 S4 W var isLast=false;
1 U$ ~! A. F7 m0 t0 z. v
( y' g' e9 x) t while(parentBgColor == "transparent")
0 K( _* b+ H' P1 G e: S, p/ r {
1 v7 m( L# v2 p . {# T5 [! x7 J' G
5 E5 ^( Z1 s! J* a if(parentNode.parentNode == null)
1 `8 c: v; w6 T {" N( D; t& ~9 Z z) q/ t" W& M0 d' r
isLast=true;' R: \" z8 d3 H6 A; j$ X
break;* Q1 u" p* C3 W; d% ~( v/ C
}, H+ b% }. C; u1 T' n; x
parentNode=parentNode.parentNode;0 R8 {& A2 u1 o$ x
parentBgColor=this.getobjstyle(parentNode,"background-color");
5 [8 r7 h0 G) R9 t4 Y* y5 R( y/ O! a
if(parentBgColor != "transparent")
+ y0 Q7 S7 b' Z# x3 N {6 y, N7 p. g }" B- D! O8 G
break;) v) S; D. u+ Q' ?
}3 X5 N. ^! g9 Q; [
}) [; X ^- I5 B' _
if(isLast) ) S t- G8 T/ u/ F& }% i$ J
{
6 W8 t) \( ^' \7 P; N7 F) w( G if(debug)8 v2 R1 G: H r# J) ^+ H l
{) `/ u3 t) A) ]. q" C- l/ e
alert("last!!");
" j9 c' l& L1 a" ]' h* s3 A }1 A) G- G+ ]5 B# K: ~
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
; w: R' y7 i+ r. O( [( D {
! z, M6 X9 m7 \3 M; o4 I/ j orgNode.parentNode.removeChild(orgNode);
' V6 T% y/ H: h5 E/ g8 h5 M" R* D4 \ }/ x. g4 s1 u3 ~! w4 c
}6 E0 a4 k. d0 B
else
4 \0 O( D6 N# K: b {8 H/ p/ a2 l* S8 C1 {8 D( t
if(debug)1 P1 o) \, s8 }+ ^) U1 N6 S
{+ |4 ]+ ~- D8 A& Z5 z
alert("compare color and parent bgcolor!");) T" r6 |; V6 Y+ f( R$ S9 L/ B
}
6 ]& a) m$ W- N+ O0 E) W parentBgRGB=getRGB(parentBgColor);
9 b; ?5 `8 Q. [% c8 ^ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))9 E5 u s9 R z* q
{
7 Q3 C( ~( l1 T orgNode.parentNode.removeChild(orgNode); # f: @/ k" h% M& y, b" Y' t6 w6 \% b
}
! Z \& t+ A( D9 T% X% K }! A u5 \! U* |5 j
}5 e5 u' b, \. {6 N5 i. L
}
0 K7 O8 D8 I, q" i }
2 q8 T" J" H9 c) u& v- a) x }5 U Y* p) G$ _) V- d
- t, G/ }0 j7 J
3 M* ]$ ~2 Z: q3 ^ var itemFrames = page.getElementsByTagName("frame");9 n$ T# g/ f- T2 w. t
var itemiFrames = page.getElementsByTagName("iframe");. H- A: X3 h4 R; P7 @
6 Z6 p/ d1 G: n9 p
var frame, iframe;
( z; t* m [) |' K7 P/ v& l if (itemFrames.length > 0)2 N" k1 W( _/ D j
{( V# c* K4 a2 S: B0 |, E, F/ m0 Q
for (var i = 0 ; i< itemFrames.length ; i++)
Z* m+ r( r9 n, Z3 d {
% z) M/ }0 _2 Z frame = itemFrames.contentDocument;
( }( \& L _- {+ N, Y5 h3 V this.RemoveHide(frame,objname); 6 r! e- q6 ~" a9 m2 _
}' a) M( U; p% Z1 R- f* A
}
' N1 @5 K6 `- w if (itemiFrames.length > 0)
{: [) f( a$ y; r! h# a; P2 p7 }! H {* I. R; U6 X; N+ @' M/ A* c
for (var i = 0 ; i < itemiFrames.length ; i++)
; C+ Y" ^) V3 d5 ` M" ]8 g {) b0 I) h, y% V$ K0 [
iframe = itemiFrames.contentDocument;, J+ Z) u1 {8 |' K
this.RemoveHide(iframe,objname); 3 G5 A: w1 k0 P# v
}
, e7 [$ e4 w9 T! s% u$ t }/ a9 p0 m7 j$ c' C/ D0 u+ D, F
}9 O! I" ~# e1 \; G/ Y( Q
catch(e): X0 A9 m& p) g7 D( c- N/ a/ k9 W
{1 G9 k' c3 H; i* @( T- T- N
if(debug)
! s/ P) m# I. ]/ [# k4 {# a, Z {
- y" O% A/ D$ v* T, C alert(e.message);
2 `! ~$ K5 `+ r4 V8 W }
( i4 F* I8 V8 O0 M9 u5 } }; E% ?0 f% m# w5 p: x
}
3 n. X+ {) @; I4 r
$ Q% K6 O3 t5 V7 }}
. }# \3 a7 l- c' M3 _+ M& l6 B
I! M# Y) k- A8 c B: z% Ifunction getRGB(colorString)
; z2 E% f* u4 ?2 S/ j6 i{
5 Q. v5 S% Q+ A3 \% J- Q var RGB = new Array;
) H4 X$ T( v5 g- L( r var tempSting=colorString.substring(4,colorString.length-1);, c3 d5 _, m6 u3 b2 b) U6 i2 `. E
var tempArray=tempSting.split(",");
3 y8 g* @9 C; r8 \% N+ o2 ? R Q5 n8 E8 C3 f1 F1 q4 _, t) m
RGB[0]=parseInt(tempArray[0]);
8 _* D% J3 E2 X/ o8 I RGB[1]=parseInt(tempArray[1]);
- I Z# c; c8 f( j% I RGB[2]=parseInt(tempArray[2]);$ o# t/ i* M3 B8 ^
* g# d* ]7 l" }8 z return RGB;, z: v- h; z$ |2 D F& K# j/ ?0 N
}
/ y$ [! x' ]6 R4 Ifunction keys(evt)
7 h) [) h5 S% E8 [2 {5 |6 u {
; j' i; t# \6 R if(evt.ctrlKey && evt.keyCode=="81") ( E/ [) P. d$ x9 W0 d
{
3 W0 B- D6 i5 X7 Q: R1 s CleanHideObj.on(0,1);
1 V1 n# ?3 l; q6 u4 Y1 R* Y alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 5 s$ l% x6 R+ R6 P
2 W- X8 p6 w5 y: y }
$ @1 s( l1 i# G7 { U/ i. C; p }
6 n( a1 _& f6 N, c# s( ~ z! {8 M/ K' }document.addEventListener('keydown', keys, false); 6 s/ L6 s+ I$ N" R
GM_registerMenuCommand ('Clean Hide',
( G6 u% B3 [' l+ b1 G+ B" {# Z1 v: Z) c9 hfunction(e){7 ^/ t% P; ~; O, U! w) S
CleanHideObj.on(0,1)
6 f7 @5 S- J" {alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");' g% l5 w) [. r* x7 v# R( U
});
\; Q) e4 X8 o# u6 t6 R; B |
评分
-
查看全部评分
|