|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
5 P, ?2 u# O- l6 _7 V
; X4 q. ~( i2 ]( H# ?( X火狐插件,用猴子* v. S+ I( [) I3 X
7 [0 x2 O. V. w0 \var debug=false;
9 u5 ?; _; j; n8 l& ~var CleanHideObj=new CleanHideClass();
8 C3 o( X- V8 I" Q: J8 i. ?
" w. G3 `+ E- U( Afunction CleanHideClass() " _! x9 j( v9 ^
{ . z, N x* y; H" I/ t S
1 p, o- |0 w! [& g# ?8 K* f this.on=function(id,bMZ)6 r. g3 a2 i7 S9 {
{
2 A' W/ m& e5 ~+ `3 E+ F; }
- a/ G( Z/ B' u' m2 \ p if(id == 0)' L$ l8 E& ~6 c" I7 e( T
{- n6 i$ ?) v! D& X) l q
var page=/* document.getElementById("content").contentDocument */document; + ?, }, P+ u) L1 F3 s
this.RemoveHide(page,"span");+ `6 ~8 G$ J7 Y8 V
this.RemoveHide(page,"font");# B; ~' O& }( I( m0 C4 ~: b
this.RemoveHide(page,"div");
& |, ]/ M* t% l+ S/ X5 \$ `% [ this.RemoveHide(page,"p"); l+ O' \# C/ S4 e+ U* r
! d" J+ o4 q8 `4 w# ~ }* R" s1 l; W8 E& |( Q
# Z( |) z: f2 L% w( h }
5 j2 x6 L+ [2 i2 P0 U$ x6 S5 } this.getobjstyle=function(node,prop)8 x+ M4 z& j2 x6 a/ F9 l
{3 t/ g3 F6 i) D, x, O* w
try/ E6 j1 o; N% H9 W8 t/ \4 @
{
/ `# X: r; n3 C: e6 d0 Z; g return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);6 Q; z2 A- ? Q1 z
}
: n2 w/ k# O: I' P! M7 u! W catch(e)
( R2 p. C* b. a* B {
0 n4 u7 \7 Q: Z# m, x if(debug)
( I) L( z9 m7 g# b5 I- h {9 ?# B1 f6 H* o/ T! D9 \! q: X
alert(e.message);1 s: y4 U" R' L
}# P7 g. ?; v% [' g2 m8 A: ]/ V
% a, H9 I7 k; G* v return "200";$ `! c" U8 X7 ^0 f9 c' i/ t' A
}+ S. X3 J& F& o; o
}
0 e& a8 Z% I9 Z4 E9 m ( P' J |" ^, Z) \: y1 C; Q- T
this.RemoveHide=function(page,objname)
/ n2 A. N) W0 v$ D* K) `8 N% [ {
9 Z4 T9 p& ]0 v1 O$ W6 Y! B try( ~5 p/ T# Y+ v$ Y2 h( n0 F6 \
{
$ n2 I0 B7 Y* }( ^& _ var minValue=15;, A7 ^3 C- {7 t3 I( c. G" o
var objs=page.getElementsByTagName(objname); ' }: K9 d; {; ?3 ?
3 O4 B! V7 |7 }7 U+ d1 L) \; f if(objs.length == 0)
3 a" \( ]$ [ Z% q: F- R" G6 a {7 ]! _ O$ d' [. U' T f9 L
if(debug)' j9 L& g6 ^$ C2 l; x& v
{& F' d0 O) i" Z2 a E3 S$ d1 f
alert("no object found!:"+objname);. D& `; Q) c# o3 }# K8 u
}
# P# J0 r+ R& d) N4 T. g6 u# a }; i. ~5 c: G+ x" q0 z; L2 Q
else) ~* o3 h9 Q; k; v. _ ` m/ H8 ~
{
" L! a9 C- Y+ R* D4 S) O' |! t2 J
p! D2 R6 J3 J5 D1 A for(var i=objs.length-1;i>=0;i--) 1 l6 j0 x1 D+ R1 g: |1 O1 c
{
. o) E; W9 ?! b4 g1 C+ g4 k1 A9 E$ d var node=objs.item(i); $ }5 p* H# ~' @/ L# b
+ U; s+ i1 ]5 `9 u3 k* M2 R# x
+ L8 W1 A- H1 Y E5 w
if(this.getobjstyle(node,"display") == "none" ||7 l( u g% q3 |. g- S1 [
this.getobjstyle(node,"visibility") =="hidden" ||# J5 K, v. U( E5 ~" ~
parseInt(this.getobjstyle(node,"font-size")) == 0) . X$ _7 j9 J! U! U( h# }5 ^0 ], b
{2 V( n n2 p1 b% C4 G0 ?- }/ P$ Z
if(debug)! [1 o$ B$ `! ]! G' Z5 `) W( W
{ m( i; q& G. o* x `5 z: M
alert("remove invisiable!");0 `/ r# v0 P U" i
}
m, a% H# C& Z1 r$ T9 X, @5 _ node.parentNode.removeChild(node);
6 M& L+ r* x1 n; q4 N5 ^, x
4 v; x( f0 d, g! y% L6 f }
9 Q9 e% A, F) O: r L. j7 F( E else
6 V( Y$ v: S2 G$ x; } {
4 X; p2 z3 R) D2 d. @& r% K if(node.parentNode)
0 |" g1 O0 |8 {& g8 K$ u! K$ N {1 X9 ]( P5 f( X0 C8 S3 x# n
var orgNode=node;; S/ @# E6 r; P |' R
var orgColor=this.getobjstyle(orgNode,"color")2 @: Z Z0 v1 K; w8 M3 o$ P
var orgRGB=getRGB(orgColor); / w" J& G- S3 F/ r9 Z: `
. x$ E; n( @8 G$ p, c var parentNode=node.parentNode7 {5 `" w! d: Y+ [, T9 p% I2 t* g
var parentBgColor=this.getobjstyle(parentNode,"background-color");
, i* T: x \0 Q* o% [; j6 V3 w
; H+ p: f- T7 ~4 k var isLast=false;
; Z9 C% L7 w; \ B
4 {% R" ] E$ `6 m while(parentBgColor == "transparent")
7 e$ e3 ^6 |( Z6 ]7 L {' T' C1 _* C; N+ | ^7 c' {% s
) `* D2 [4 q% E& s0 Z 7 _5 F1 o; ~$ Q0 R, d+ g
if(parentNode.parentNode == null)
6 Q1 s3 J' z( Q; k& t0 C {) S. l# X' b; H! Z4 F4 c0 H
isLast=true;
: ]3 A& q7 n% ?1 W/ t3 y1 W break;
. x; q9 c8 j, N7 ] }, E; l. l! ~3 Z8 Z$ K6 X5 |
parentNode=parentNode.parentNode;
; t/ P" L' _9 Q parentBgColor=this.getobjstyle(parentNode,"background-color");: \6 }+ H6 ?3 C, H9 ~) o/ ?" m4 H$ y
% u$ X" _) C4 i h+ J if(parentBgColor != "transparent")
2 `; b. \5 i' e, z9 x: P {. A7 ~) c7 ]; r- E& k
break;
( ] j1 L7 v8 x& `( }0 X }. l: |/ z; i) H1 E3 a: [1 y
}
0 @0 v) W9 r5 w/ v if(isLast)
! E6 n4 m# b. A0 N {
$ p8 N! ?( N: K8 M, A5 ^/ N if(debug)$ k3 [) `+ C7 s. m9 B
{
- G$ M- ^7 I4 v# K( g8 W- `+ \ alert("last!!");
$ P- @- m6 ?. N2 ~& } }
+ |3 {- O7 T/ M u) m! B* o if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
9 X; N$ Y7 H% Q4 C9 T {' M- T _8 t* t/ ?1 ~( Y% A# b
orgNode.parentNode.removeChild(orgNode); ( A6 H" l/ U7 U) J
}
& R7 \& H( F& B# n, i( Z }) ?% Q+ j! F6 A+ E
else' `; m) X3 ]) H9 y* U% K
{5 d! S+ d6 }- C' i# p7 g, L
if(debug)
# e! E9 D+ @" {" {% H7 X {( h- N( t5 S7 M3 s- v7 \2 a) u7 X
alert("compare color and parent bgcolor!");
; |8 C8 M0 t( M) \$ k2 o+ W }& `1 [7 Y/ ]+ ~% J7 w' \
parentBgRGB=getRGB(parentBgColor);! ]2 {1 r! } b
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))6 [' x5 c; t5 z/ A% _8 d& j6 C2 y$ F
{
! J* U1 c0 N. ?* S orgNode.parentNode.removeChild(orgNode); . `8 P( {/ ^ W+ A1 D/ @8 v
}8 E$ W! c, n0 R3 O
}
. _8 z+ t& `2 ]; O }3 M X( R; k1 |! E4 j
}
& u% h! @5 [, R+ q- Y- d }* p& H0 O, Z( d% u" l7 o
}
6 P3 c5 V4 A$ |! d/ f4 c 3 O C' M" `( X8 b! ^/ S
# }3 \- M, j! ?# L% g: b var itemFrames = page.getElementsByTagName("frame");
% t3 S% F/ ?9 K; e var itemiFrames = page.getElementsByTagName("iframe");
o% Z! ? f2 w, z* s7 m" J
2 z* F1 ]' o4 S var frame, iframe;
$ W) x; R8 K* a1 K; u if (itemFrames.length > 0)
: O- t4 K9 E* U. b, C2 `/ d8 y {6 U5 q* x/ U+ }* D! j
for (var i = 0 ; i< itemFrames.length ; i++) & X' H' J1 Q+ I# _. h1 T$ w
{1 H0 b) n) V- d- D6 u
frame = itemFrames.contentDocument;; L3 z0 C9 o7 w; M' [7 s0 l6 ^+ {
this.RemoveHide(frame,objname);
0 b4 _! F3 Z0 H$ T; a }8 p& _. w+ k: ~* [3 V4 u
}: Y% b0 {, g, ^) J4 Q
if (itemiFrames.length > 0)) F; Q+ E( M9 e* @- z, c
{9 |/ V- i1 p/ t) D. \
for (var i = 0 ; i < itemiFrames.length ; i++)
/ R- o1 R/ W9 |- V {, s# g) C: ^, Y9 h
iframe = itemiFrames.contentDocument;8 Y3 n% h$ j ^! P* U
this.RemoveHide(iframe,objname); , q" R3 `! s7 h$ _& o6 J9 I
}
# E- N3 @ U7 i/ s }
8 g+ ?' L* z$ S7 ?% Q }
1 [# W4 y' y( N4 ? catch(e)6 D4 i$ A9 F1 @& r
{
v. d8 M8 U1 ? if(debug)" G. M7 s7 n: I8 F% m% V
{
5 h$ n$ D/ g" ? alert(e.message);
7 r0 W" m! ?, e, X" b$ @) I }" F5 G% {7 l% w/ ^4 j+ p- L& q
}
# ^" l( t( F/ M* z; a }4 ~' I+ D, e% p
0 |9 z* @; W3 c
}. e- Y) J' a+ x: t, h' f8 c1 q3 C
& ~. R4 l7 {. z( {9 S" c8 B
function getRGB(colorString)
( g" p! y% E( f1 ]{2 P% p, r$ v& [! v; L5 b
var RGB = new Array;
; r( A- X |# @$ R5 z3 U var tempSting=colorString.substring(4,colorString.length-1);
6 j& ^( I0 S# e/ O, D; v var tempArray=tempSting.split(",");
% n. X* q! p! g; o9 f" q/ ?: I, G, V* }; N/ `& I. \/ k4 k8 ]
RGB[0]=parseInt(tempArray[0]);
9 [, s- T5 H' Z6 E( F5 T+ @1 k RGB[1]=parseInt(tempArray[1]);7 |, [. D9 y$ K
RGB[2]=parseInt(tempArray[2]);
& p) _. a! f5 a, V" K& W2 C9 \0 A
+ e3 j: i7 |( L return RGB;
8 q8 t4 r3 _. u; V% ?7 M}$ \; L. l0 X3 |9 ^
function keys(evt) + }: u% [+ K5 f9 L* ~5 n
{
9 }5 Z1 f6 ^: N+ f" e, ]! o if(evt.ctrlKey && evt.keyCode=="81") - Z& y. ^: c9 w$ h+ E
{ 2 [) D9 _1 M' o$ O
CleanHideObj.on(0,1);
2 v( m |! y- Y. d4 h alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 2 I w0 \! \7 `2 B7 ]1 ^% d5 q
$ C+ d5 P+ O e a- g+ x4 _
}
' S1 n! G" i1 @: j }
" o0 Q) p6 n( h, y' Z& P3 i4 Ldocument.addEventListener('keydown', keys, false);
g4 Y4 b+ ^* |GM_registerMenuCommand ('Clean Hide',5 V4 x: f9 @& Q! T( M8 ^! ]
function(e){& ~6 Y, Z- Z& f3 i/ a; m
CleanHideObj.on(0,1). K+ A; V. l6 A! u6 a. ?& D
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
: j6 k# w1 S4 S5 d$ ^6 ]3 y});0 j: r1 ]/ r( S* l& g& t
|
评分
-
查看全部评分
|