|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 & | O' R! ~4 H/ V
1 d$ K8 f; a) ]8 b* E! d火狐插件,用猴子
* Y5 `0 \7 X6 Y, c6 ?6 z/ A+ x0 c4 G5 C
var debug=false;
: j r% R2 r4 H% Y0 Ivar CleanHideObj=new CleanHideClass();$ f m5 x& z8 C$ `
, ~- g. ~" {+ p. J, G
function CleanHideClass() : e/ o9 ?. S- c7 y q( e' x: r
{
6 c! u+ c% m R1 R # Z6 Z0 r- b N @
this.on=function(id,bMZ)
# u6 E2 V8 A1 \8 Z {6 Y6 |. {" i" |6 h- a2 Y7 e
% L5 ~/ e8 W! y& M* L- \$ T if(id == 0). D0 w5 w j( L, u) k
{" a; x9 R7 l+ @4 }
var page=/* document.getElementById("content").contentDocument */document; ; N4 C' B& l$ F) P9 g
this.RemoveHide(page,"span");
* m1 \+ |0 P3 j2 V9 L {4 ? this.RemoveHide(page,"font");
* q9 B' \& D2 k0 B0 d this.RemoveHide(page,"div");! s0 u _7 ^+ ?* ~8 h! N3 y0 w2 M& T
this.RemoveHide(page,"p");$ Q& g$ Q9 B2 S- e1 b% p3 u
1 m+ F1 {0 M7 Y: y+ S }
! x' r" v; B' h5 Q
$ i" F8 z1 E' Q' p) c' Z }
8 n8 `6 O1 r8 K; v- \! z" { this.getobjstyle=function(node,prop)
" x4 u1 o2 g0 X9 L6 M {( F$ Z. t: b) i/ J7 ~6 _: o
try
, F2 Q" H) y+ _: k {5 k; v' j, Y) F% s5 x7 {
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);! j9 l9 p. U% l7 J
}
# w+ V2 F# ^. u1 a5 b% I3 ` catch(e)
4 A- ]5 p) m+ h {
% {9 w$ e, u3 C/ q4 w if(debug)/ e6 I' w8 f% J
{4 M8 u+ E8 A1 x
alert(e.message);
w4 c& N" E. O0 f5 l4 [8 K3 e }
) C. u; W' w* u* ?# k7 T5 N . r4 ]0 h; z3 A' i3 O) @" k
return "200";. {' ]! V; d& b+ k, N
}! T' ?1 s i2 h5 n. z) y
}
' M2 m+ q9 h# U2 m % S6 `% I$ O& X7 D& W% o
this.RemoveHide=function(page,objname)
4 E0 h6 [$ `; |& }1 ] {* r3 V# K4 B( m5 |: i$ L8 Z; \8 S
try
+ i) X* U1 @4 G2 ]" s8 f. Q0 E {
3 H+ g; _0 A* F, {" K# Y6 } var minValue=15;- h) h3 }% v1 U+ \# x1 o
var objs=page.getElementsByTagName(objname);
# y- m. Y- G. w# V4 z+ E; F0 Y, Q$ H f
if(objs.length == 0)
+ u. O' s. R- r \* ^$ v# J. r {; V m- k* D t! g
if(debug): E. S1 u3 }" S [# y) f
{
4 E( o7 e) X/ [, T alert("no object found!:"+objname);
- H! j K6 W$ ]$ n5 V }
$ G8 G& w3 Q U/ K6 t } l: X' [, s% y9 d) x" B6 c/ K
else# K9 G8 w6 b6 Y9 t$ ?
{& h5 n3 Y! ~7 O0 V" j
; h: L ^$ y( ^" Y; a
for(var i=objs.length-1;i>=0;i--) 1 b* z8 e! G! d% ]; ?
{- w, N% {) B9 z( e- F! i% \
var node=objs.item(i); ) M4 l. g" o0 K4 H( i/ c3 @
, D* V" q3 X* u7 w
( s) K) k) f. e7 G2 a; }* N, p if(this.getobjstyle(node,"display") == "none" ||
" B4 c* A' g+ j. z- Z$ {# y this.getobjstyle(node,"visibility") =="hidden" ||% H' c, K" f3 e1 z8 [' L& S
parseInt(this.getobjstyle(node,"font-size")) == 0)
# ~7 b9 K! A, p1 ~ {2 p0 p( Z+ p. u0 }4 u4 _* ^8 q, x
if(debug)
/ ^; q) G# k$ w1 z; _- y. x {; d: I; \# a* e* H3 I( ~
alert("remove invisiable!");! Z' q1 x0 n1 i& d0 r
}' t2 T/ U2 [, d
node.parentNode.removeChild(node);% R' E5 H6 C- B" ^% o8 L
( p1 o2 G2 U/ |! s$ c }
, f! z" O0 S. G else 4 \8 ]3 |- t2 e* `! D
{0 i8 [: w7 P* X- E+ N
if(node.parentNode)
: M4 Q3 |6 z' u- g {
( B H/ Z: k; A$ [7 ] var orgNode=node;0 c( G9 L+ I' b2 n3 l
var orgColor=this.getobjstyle(orgNode,"color")
' M& ^0 I. n+ s# {9 E, { var orgRGB=getRGB(orgColor);
! k6 P: \, l; |4 Y# @& I# g& I 2 g8 H0 k& ]2 t4 A$ ~; p( d t$ ]
var parentNode=node.parentNode9 |/ E! F6 Y4 {
var parentBgColor=this.getobjstyle(parentNode,"background-color");
/ n) u- i4 n' T' } w% Y % R+ G. W2 f9 c7 J1 y- R
var isLast=false;* d K; T( [. o# ~5 `
$ O: e+ s+ n% r5 ^8 q: w: E
while(parentBgColor == "transparent") 3 K: y$ V- Y3 s5 z0 v4 a# H8 Z! l
{
% M! D2 M; M0 k+ P. J * G1 @9 w7 K( s+ `
z" a! ]0 J3 r
if(parentNode.parentNode == null)% b. T- e$ G5 n/ e
{( N" s2 c3 k0 F) E$ A: w- ]
isLast=true;" ~- \( R" q& A6 j- r# g
break;8 n: S$ \( Q# R9 T. o% i
}. B+ T/ Y6 w- Z% E1 B. b' X1 ]
parentNode=parentNode.parentNode;0 X: f0 S5 v' `' V! ?: [
parentBgColor=this.getobjstyle(parentNode,"background-color");
+ }' c/ j$ p! A: I1 w: u5 F! @* Z$ ?8 k6 d+ \4 e0 a. e
if(parentBgColor != "transparent")
* j/ ~" e" d2 m* {# f {
6 Z, D9 F& q# r) B break;( R; P8 E+ {: M" i: |% I
}
; P; P; e7 Q( M J& a, a }6 G6 N( Y. q, E0 ~, H* h
if(isLast)
0 ?! s; _* ~2 s+ j! f0 C: D( s {
" K5 b, l' _7 f/ E' D if(debug)6 ]! b5 X" Z- T7 Z: s
{
2 c6 d+ y i/ |" V' q; G alert("last!!");" y: Q% G+ F6 H6 j4 m( a Q; w
}
. L- z- Y9 s1 g$ l9 s if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)), i6 U. A, J7 r/ N b4 q7 ]
{
6 }5 v. Q( h2 p" J- l' \ orgNode.parentNode.removeChild(orgNode);
4 v. c1 z; f. x- K+ r }# d! J. W6 j' r& X- Z7 G+ C
} Q( W) p6 `4 E, o$ e- A
else" O+ R. _/ w/ z: f
{
( V6 h' L8 X {! F, x8 ^3 J s7 R if(debug) c' o% u% I. }
{5 z/ e+ G: s5 Q) G* N
alert("compare color and parent bgcolor!");
}/ _9 [$ [6 W% v }
. w4 J+ \$ r/ i- I/ D" o% A" W parentBgRGB=getRGB(parentBgColor);' {4 n3 L8 }# S8 Y' [. m+ m5 R
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))% {8 U! c. G6 \3 z1 P
{ [0 _! M! X/ H1 ?6 @, @
orgNode.parentNode.removeChild(orgNode); 1 j" y, @: L; ]* M% e
}
$ G! q- R( j# g( y2 I; L& y, | }
7 L; x5 Y, y6 b }
! X5 W8 J# V5 m; A4 [* E }: X8 Z* p2 a) ?1 r5 z
}, i+ A; H+ @; D' i/ P
}" o' @& _' d3 m# I/ z, i
& m. C+ ]3 l5 `( @ 5 b4 I3 S) n, v2 S. T
var itemFrames = page.getElementsByTagName("frame");+ d4 n$ d/ B# B% Z: y2 m! Y
var itemiFrames = page.getElementsByTagName("iframe");
' F; D7 R7 m6 c" @+ Y , ~- Z, e+ d* [3 z
var frame, iframe;9 v5 O5 e& F6 E3 l! F7 b5 Y1 i7 a
if (itemFrames.length > 0) F& |% ^9 X2 v3 d( d4 t( C
{
2 {" U4 t& j+ [! k& Q0 X for (var i = 0 ; i< itemFrames.length ; i++)
/ R: w8 F% b, W {
, p3 i) ?8 A3 L1 J9 h5 D' H frame = itemFrames.contentDocument;
. y" {2 F. M2 J9 A ?7 L$ X6 b this.RemoveHide(frame,objname); ; Z; @) y) A" N+ H+ U2 M; v
}
' j0 r% ]6 n9 K1 d3 Q. s' X% y }' L( q* }/ E5 R# O/ ~8 X
if (itemiFrames.length > 0)
, Z% }/ F& \3 } |6 j. U$ [. c# A% F {9 m5 L* q* u7 C3 Y/ p$ h
for (var i = 0 ; i < itemiFrames.length ; i++)
$ u b4 s: |1 W3 E6 i% m, q- w {3 r: ~6 ~9 Z6 Z, b
iframe = itemiFrames.contentDocument;) n- p# A. {9 U: A; @+ r( C
this.RemoveHide(iframe,objname);
) x" Y* ^+ i! y4 J& P }$ ^! X) T$ U( R8 ~; A& \5 U
}9 o) u* J) }$ P$ f! y
}
8 ~ h$ S3 u: ?: k, n catch(e); y6 `" R4 D+ E0 U" k9 r; {& M7 R5 _
{' }* @3 F b, E2 r
if(debug)( X- m; d1 f/ e
{' q& `+ W4 D* h7 O
alert(e.message);8 a# z' ]# {5 U' ^8 t8 K
}3 ]9 I2 i6 t' k+ y/ d
}! u/ ^$ F" d* m2 G" U. v! J
}8 o9 K* `+ b3 m& Q2 |; q/ ^
3 s# a- y/ j1 a/ K}/ }. S8 U0 ^! ]- z, J
7 `: {; z& q$ E/ n1 Y' hfunction getRGB(colorString)
; m p7 z7 j* k: v{) f6 z9 e! X9 I
var RGB = new Array;' |% O8 l7 b6 v& l n/ H
var tempSting=colorString.substring(4,colorString.length-1);
4 @& ]: Q. c' Y8 O `# w" V% ^* U var tempArray=tempSting.split(",");& r4 c" C; @' u! w- W
& t' f' Q- J' X9 w1 I RGB[0]=parseInt(tempArray[0]);
2 E/ z/ T9 M! W) @! K7 J" w RGB[1]=parseInt(tempArray[1]);+ N) `" y* j: A
RGB[2]=parseInt(tempArray[2]);2 m) W6 Q" Q" t* ^" }& |
) Y3 Q; D( V6 T/ w8 J# |; M: D
return RGB;, L; W/ f4 I% c" r
}" F1 U' A' n" _- i* X/ V
function keys(evt)
1 b4 L! k+ O3 v+ f" W+ X- x& {. n { , `, w1 V& }1 T6 i) S: E' {9 {! m7 P
if(evt.ctrlKey && evt.keyCode=="81") 5 E8 m1 d" ?; d# p, A
{
6 l5 }' s0 [; ~& J: A CleanHideObj.on(0,1);
* j! p! }, C% H+ S alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ) I. s, y. S4 P$ V$ v+ h4 o5 |
. e. z1 n: M- ]9 r# c0 o. e- U
} 3 ~0 m$ b7 y& X( c3 |
}
) m0 ?' [2 ~3 F1 w& U4 @. ydocument.addEventListener('keydown', keys, false); 3 G1 E$ [0 v" A
GM_registerMenuCommand ('Clean Hide',
- c+ B( K+ [: [' K( ^function(e){ Q3 [4 J; a4 R# r+ T) ^9 G
CleanHideObj.on(0,1)
. J8 k8 m: Y9 a5 z( d7 V @alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");' z* f/ y: h. @$ \( M& x5 S! |
});
( g. M3 E! d3 v! y$ ^ |
评分
-
查看全部评分
|