|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 . {' j1 V0 v0 h2 |
) q8 Y% b6 I/ N# P. i) d2 k" T! |火狐插件,用猴子2 \6 F( W0 f' @; q0 m3 h: D
, P, d2 M! d) `! a/ E) v5 jvar debug=false;
5 J0 d, U& r) v/ I( D7 x3 Cvar CleanHideObj=new CleanHideClass();
" k. K# _1 u ^) q J9 X% x; N' W0 s
function CleanHideClass() + z5 C9 [! |( \9 b, c3 D$ n0 V5 g
{ & y( w1 K$ J0 l; K* |
- t* E/ L7 ~$ d1 t: `8 b this.on=function(id,bMZ)# R4 P8 b" f. Q/ I) d y
{* Z4 N3 {+ Q) Y' D+ J
0 S/ l* U1 b5 n% [
if(id == 0)
9 u ]3 N) ^- m% h, p+ q$ B4 g {
1 F* J. |+ C6 x" _( G! @) Y- w var page=/* document.getElementById("content").contentDocument */document;
8 E6 L) y( J4 l i4 u9 W this.RemoveHide(page,"span");
) j! S x* v A2 T4 k this.RemoveHide(page,"font");
- {, r9 g& f5 \9 F this.RemoveHide(page,"div");5 f: l. c6 c! p, @; X' I
this.RemoveHide(page,"p");0 K# o8 k3 y. K3 g
; t, [2 u0 Z0 } Q" O
}
- B6 t3 O$ K0 R# M$ V $ S: W* ^& W1 E
}. Z# V( P! [/ o4 j
this.getobjstyle=function(node,prop)
# Z* ?) M, K: F$ b {5 F J* p6 r+ A% {& M- y& s! L! B
try
- }5 @( E9 \( y" n+ j3 B7 Y {2 _7 o! }. N0 d" A4 j: c3 Q
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);) D1 A# z Y! H" u
}
) W% d3 B ]# a" e! Y3 e* U catch(e)
, u& l- l( A$ U _ {
) A# Z+ h/ |0 s5 l if(debug)
# V0 M9 S: w7 ^! c: J {3 Y* }+ U* e' T: X+ o. f& v# f
alert(e.message);
/ a, O0 |' H* h. p% E: A }2 Z! L( Z/ e0 u' w# |
+ ?" A, I: r, Y" B
return "200";9 t9 N2 y6 }! j% s
}
' L6 Q# L9 ~; t) ?7 u6 c }2 h7 o* i6 q% ^3 R( t( ]) h. k
( G0 B. x9 l- f% a, r/ m( b
this.RemoveHide=function(page,objname), e$ t8 G6 b0 h( M
{% |5 s: j7 o" o6 `
try
( ?& a' I; K) i7 H- `* ` {
; f9 H# W( W8 y' s/ M3 U var minValue=15;
0 j3 n( i! X2 c+ V- k6 s9 P7 s var objs=page.getElementsByTagName(objname); & L* W8 |% q7 S" o1 f9 [/ M
% W" d; c [3 Q9 X) d5 W( @2 x
if(objs.length == 0)
& ~$ o# C* z9 O4 H4 a+ |3 w {
9 z# u8 C' F- p. ~* Y) _0 b6 ~7 S! N if(debug)
* s9 w' ~( w e1 e {: V C& X& S+ C% w0 v4 J6 ?' a
alert("no object found!:"+objname);) m+ f/ @, {- V: @
}: _ S. F1 G! A2 [" X
}% \: t9 J# y* A; h* }& S3 z" \
else
6 Z6 i5 P' w+ V {
* J& _, S" K* v+ J+ x# w
* v6 r2 e9 \2 i0 J" W1 B for(var i=objs.length-1;i>=0;i--) - j9 _: X9 v9 O4 J* f! o( d/ a* f9 ?
{
/ `, l4 _2 Z4 x: J6 k, Y var node=objs.item(i); " W, n( |# j9 D% j3 s
+ q6 D' x& g, o/ y* O! G( c
$ j& c4 [1 S; c; ^8 ^. B+ |" m if(this.getobjstyle(node,"display") == "none" ||: J3 O2 _8 S/ |0 c n% `# ?3 V
this.getobjstyle(node,"visibility") =="hidden" ||: g4 A0 I$ |8 H1 G' C& [ l
parseInt(this.getobjstyle(node,"font-size")) == 0)
* D. d h, a* i9 J {* T" Q8 C9 V2 E
if(debug)
4 [# g+ A6 K0 M6 w1 n* v" P { a0 C0 Z& M% ]6 f. K
alert("remove invisiable!");
) B) ^1 k8 i, y }
9 O* b9 r z* x0 | node.parentNode.removeChild(node);$ b3 o/ ~6 m+ i- ^8 H! C6 f- G
, u; j5 Q- l; s
}2 ~6 X0 Z9 H& Y( k
else
) h8 x2 ~) a& d% i* }8 } {3 D4 \2 e: w/ N% p* T5 l
if(node.parentNode)
' q0 h7 D" W0 I5 z) q0 S- D {
$ |: H* Y( i, q9 l! d. W var orgNode=node;
) @" X' R& c2 j( J+ u' |6 w% r! B var orgColor=this.getobjstyle(orgNode,"color")/ E e4 I( ]2 u
var orgRGB=getRGB(orgColor);
7 c5 x2 W# Y$ A+ v/ ~) |
, [% p9 v: I& A" E var parentNode=node.parentNode
) I( _1 {9 Y* G- z: g' g var parentBgColor=this.getobjstyle(parentNode,"background-color");# ?' I) [, g4 u8 M" C" s1 F7 d7 p
( Q6 t5 f; g. M. k) f6 @3 x var isLast=false;
6 v$ F) z5 W9 }0 p' h% ] 5 m( z/ x9 C. q* G4 w; N4 m/ ~
while(parentBgColor == "transparent")
1 N' T8 q0 K$ T" t0 p {
7 O4 ?7 b7 i* b' U
0 e+ y4 l7 Z2 p- k1 i3 n
% E F! R1 u; H: o1 p% J! r( F if(parentNode.parentNode == null)
4 N4 j: C# X3 M {4 U1 m3 N1 a- P Z1 ?+ c1 ]: a
isLast=true;
) V8 d( z. J- y5 @- t break;
( h/ s' {. t3 U/ o6 {1 }7 C }
+ J7 d3 J8 f: ?7 m1 M- K8 s parentNode=parentNode.parentNode;
% o7 K! o7 l M: H9 b# h0 I: i parentBgColor=this.getobjstyle(parentNode,"background-color");7 w9 ^. G; D0 S
' y, c( _% |' F! W s/ S' n
if(parentBgColor != "transparent") ' }3 y) P' _( H$ Y
{
5 B. G( J! X, b# `: z break;# Q( G( U5 E6 \5 [ R2 s
}
O ~1 x. {% \" N# e% }% y }* u: _ W$ C( v% F
if(isLast) ; M+ N, H) o' A
{- m: {! ^" B* V& p! d
if(debug)
V1 Q6 s. _. w" s' F- ]; t {; q3 }) }. {. w. k
alert("last!!");
) D. D) Q' U. q' Q" Z }
' {" Z& c- D3 I. ?5 Z if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
9 {! i0 n8 Q; N% k$ _8 P$ R0 s( d {2 ]0 s+ X$ D: M8 m* e
orgNode.parentNode.removeChild(orgNode);
% _6 g& R; r+ h }* h. b- v" z' V4 B5 r8 A* Y
}( Z+ w- P* P, T9 a& r5 ?, S
else
( E& J. f& n, | x) A0 c; `3 ] {
. K/ g: U7 G3 p4 G9 Y& y: O; | if(debug)& r5 { H8 t1 t; t; {; Q
{
0 q4 j. h; d/ L8 T1 H alert("compare color and parent bgcolor!");+ j* U, q2 |4 T
}/ T* @8 b7 a3 m; `8 y* j
parentBgRGB=getRGB(parentBgColor);
3 x1 w9 D% p" R% P, e% { if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))$ }" V h+ j/ T
{
2 ?9 `- Z* Z" L2 H1 |7 U orgNode.parentNode.removeChild(orgNode); # k U" ?" p5 O, c& K
}
5 Z8 |0 j( D+ i7 C8 x2 _5 A }
2 v& T5 o) E: Q" Y( t }
2 N% m. s4 h: K3 t8 O$ H/ v; r3 n }
( o: ^+ G* U( C" F# s' M }% T7 I3 j. v* T" \ u/ J) N
}
& m0 b& J1 o8 c$ R
6 H; ?' {) ]" r5 k4 O" x; H2 r
1 W$ {) ?, J, @ H' S6 x var itemFrames = page.getElementsByTagName("frame");
( K3 D9 H# Z5 t: m var itemiFrames = page.getElementsByTagName("iframe");
, _' s5 d6 {! c$ ~
: w+ i3 e5 X! l* a2 I0 b. c) y var frame, iframe;& z& V5 \" d1 ~9 _0 R) i
if (itemFrames.length > 0)# u; A6 F8 X# m: e
{! Z, d0 w0 Q/ J6 j" d" m: d5 V/ f8 { X
for (var i = 0 ; i< itemFrames.length ; i++)
" y1 [% P) y, {, J) w# B {
. i; ^9 s Q# `+ l# }( h# [" L frame = itemFrames.contentDocument;
9 Q g$ E7 O2 @3 m7 [ this.RemoveHide(frame,objname);
9 s5 ~' E2 U2 h3 \ }
% |* ^$ N! b2 b/ B1 D }/ g1 x! U7 g( u- Z1 O, H* G% W
if (itemiFrames.length > 0)) F1 R8 `* O2 p0 w
{8 ^& V4 _2 h' P$ b
for (var i = 0 ; i < itemiFrames.length ; i++)
5 {3 q6 H* V7 y, I- Y {
4 n. }3 w4 Z" `# ]& u3 q% v iframe = itemiFrames.contentDocument;
, D. t' F' l' B, u+ @" i7 Y% ?! C! N this.RemoveHide(iframe,objname);
0 N. {( _8 Z" D3 f }% `! t2 |* ]* Y' A: q7 Z" I
}
, A) ^8 C+ q* p% R* D# a0 ?3 U }, s# [! Y9 i8 @+ F% ^9 W
catch(e)& K6 d0 f( y: ?
{$ p# l2 O2 i5 j4 A" s+ A
if(debug)1 F# t* @; F n! X% F! Q
{
) W3 B0 a. Z9 B( n6 V6 \( V7 f alert(e.message);/ ?6 `, A7 L/ x% t- Z
}' N; {9 i- a& a8 o
}8 V4 H' k6 A, e; e7 c7 a' q
}, n2 s4 N6 [4 v
8 R/ L1 q# d3 X) ?}$ |! \1 J" O3 b4 p6 X" z1 A
4 K9 O5 ^: d- @# x9 [& X& |) b
function getRGB(colorString)2 _& _. U4 W( G. j
{
* c/ [2 q: y8 J3 g: I7 Y var RGB = new Array;& w8 f4 m. U, J2 H5 n
var tempSting=colorString.substring(4,colorString.length-1);# _. ^! Q; J2 j% T O, u7 o
var tempArray=tempSting.split(",");# _ `% n: z. [$ ]
# }4 Q4 r1 k$ m2 V9 }6 T) U
RGB[0]=parseInt(tempArray[0]);
. Y R+ X. {, E: o# S8 u8 E RGB[1]=parseInt(tempArray[1]);% V. r# i z: L% S% t
RGB[2]=parseInt(tempArray[2]);
+ E, S& V7 p6 I; p ^" P
) z2 C8 ~0 a$ _$ O1 w return RGB;
4 Q9 H% O2 C: o; m6 d) v1 u5 ]: P}# b0 e3 [1 d5 U, q7 V' L
function keys(evt) 7 X1 n8 N! K* E) H" W
{ " `0 {' i- g/ O4 E
if(evt.ctrlKey && evt.keyCode=="81") - S( `4 y4 V; J$ h0 {/ F
{
3 x' Q1 j/ D. A' P. }4 r CleanHideObj.on(0,1);) l8 w/ s0 k n, U g
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- d& g+ c) I3 I0 C5 }1 k 2 m& r- _0 x4 N, t) c
} & ?6 c: _. ]1 V! t1 |! W
}
( C0 A0 p0 d6 U w% R* O2 [) j- Bdocument.addEventListener('keydown', keys, false); n/ Z3 [+ I9 u) Z8 g. L
GM_registerMenuCommand ('Clean Hide',# K6 b0 F" m3 Y+ W
function(e){
% w0 A, Q# X0 C% }7 k# P7 iCleanHideObj.on(0,1)
( E8 L9 i# ^# E9 l8 walert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
; G, S( i3 ~: x% T" g# T});* x4 @8 V6 z/ H& b% Y2 |
|
评分
-
查看全部评分
|