|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ! z6 b# |5 U' g* z3 H! y# K
) a# @- f$ v$ q) U7 |火狐插件,用猴子/ G( y" Y6 Q' R; V0 g' F7 {
& J8 {, @6 u9 F7 R1 e
var debug=false; + Q" e2 K' }* y( O9 X8 p
var CleanHideObj=new CleanHideClass();
# Q3 j0 p3 a" U! o: i- l2 B
# x; z1 V, Y! Y% }' L* V: sfunction CleanHideClass()
& ]4 g! Y. E: [ v{ " z; j9 K1 v3 G, \7 E! I
' P# u, p( _! m3 H4 N2 M3 Q: d( }) c. B
this.on=function(id,bMZ); Y5 h+ P- K) }
{' A; D' w3 H# N3 a# J; O6 M7 A
* ?3 O0 X+ `" O0 M if(id == 0)6 ]. O* g0 `$ }, U
{
/ p2 O9 m6 J+ E0 A3 H8 W# h. k var page=/* document.getElementById("content").contentDocument */document; 0 J8 t, t" _" X; N/ k$ A W
this.RemoveHide(page,"span");
5 ?0 E# m: v& o, \; F& P7 p this.RemoveHide(page,"font");7 z' o' @. y3 n$ v7 c$ e
this.RemoveHide(page,"div");
! i `' m7 G2 t, g" K& u7 \ this.RemoveHide(page,"p");
' P$ ^, ~, ~9 i. N# B % M, k5 j$ n% D ]
}$ M0 ^# `- E& r& y1 i. T: U) F
6 [) t& T+ N. M e) V2 z }' J' A& D3 d# e+ s! Z9 ]
this.getobjstyle=function(node,prop) }4 Y; F, h/ q! l! J( N
{
! D$ c% M; P( v3 ?. C3 q try) U& \& x+ }; a V- v. R7 D
{2 f* }1 p1 Q7 w5 _+ l& ?" v% M4 ~7 n; l
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);0 C9 a/ P8 h' ^5 e: E( m& S
}
' }( |% F, D) S9 D) G! c catch(e)
$ U, R7 w& ?" i3 {7 U! r" T {# ~8 Q# ~. } Y! z: A V7 d
if(debug)9 Q0 V( E Q8 T% U# g
{
3 f. T3 z6 O1 z( \6 z' D/ Z alert(e.message);% q5 [/ h2 @" C: x( }1 z+ y
}( q8 g! k/ s/ ` H' q4 ^, \5 _
& t. O1 g2 j: q6 Z1 s x/ h
return "200";5 i, a7 J: A+ w$ e: Q" I1 g, U3 x* x
}! t# F2 X$ a+ V) M" D
}' a9 N! W- d" A9 H* c7 v. k3 t
7 {! O9 a" j1 k: F this.RemoveHide=function(page,objname)4 X0 y* ?7 J3 D
{
e2 v( O3 j& d; Q# u0 [, T try7 E" \0 q4 z$ k2 j+ I
{
s9 a% Y' s- q6 \$ m var minValue=15;- O3 b. K+ t4 _% Y7 L9 K$ o9 @
var objs=page.getElementsByTagName(objname); 7 B6 ]1 ^7 C/ \$ d
6 k' ]5 F" m! B/ ~% h if(objs.length == 0)
' k0 [) ]% U3 |9 |0 ? {
, h" A$ @7 \' I% M3 \. [ if(debug) |3 d% {# Z' t7 E# D+ [
{$ U0 ~0 b% L# c) v7 N) Y5 v3 A
alert("no object found!:"+objname);
5 l8 g3 w3 X* R+ B& X0 U }
9 O$ }% u$ @) [3 {" \* p }
# |* N' k" [2 }% F, U else
2 C! K$ ~2 `) E% z9 n {. Y# Q2 C; i- H6 J& T' y" p
' B" h0 d8 ]* K B' g1 k
for(var i=objs.length-1;i>=0;i--) ( P, E s4 h1 J- F2 E) {
{6 }- x; w( g$ F1 `% {8 q
var node=objs.item(i);
, ] A, n, v6 B# `+ C4 V9 v : n0 r) O0 ^9 w' Z: P1 Z1 L
! y h A, e9 k& e6 _
if(this.getobjstyle(node,"display") == "none" ||
0 ~' Z, I; H& ]: t4 f this.getobjstyle(node,"visibility") =="hidden" ||# Y7 [( T x6 z/ f
parseInt(this.getobjstyle(node,"font-size")) == 0)
! _& \( e1 n" d9 H. k% h8 D {
& [6 q: f5 Y4 A1 p% n B4 X if(debug)
3 E1 v4 F/ B1 j* u! h {
; N q& C* y% ^. p alert("remove invisiable!");
( n+ n! R6 u+ @( i5 b } x6 l" f' x- c% d
node.parentNode.removeChild(node);8 _# i5 C x, \9 o% Z9 N
5 |$ h* i- e* T- J3 k9 [/ w4 d# a- t
}
. t" s* k# b$ H else & L- L0 p; f+ k9 P
{
3 x3 h3 \, u5 ?. u3 h s5 a2 X! }9 f if(node.parentNode)
8 u* H$ O9 Q* J3 M v } {2 J6 q d5 M; `" T" Q# R4 [4 k
var orgNode=node;
$ e1 m. E# j; Q% ]" k var orgColor=this.getobjstyle(orgNode,"color")
1 H! k9 D' ]! u- @0 A, x1 R) U var orgRGB=getRGB(orgColor);
. v% E8 v$ }& U/ a
# j9 j6 @6 u+ M# k var parentNode=node.parentNode
3 d" |7 L2 ~8 Y: k0 ^" l' @+ { var parentBgColor=this.getobjstyle(parentNode,"background-color");
1 ^, g- O" U0 s# S ) h6 m/ L0 r8 v) Q" z& l4 m* Q
var isLast=false;
% M$ h9 r' v3 _ % g& s/ q- r Q+ {7 b: O O
while(parentBgColor == "transparent") 1 A% A: k$ U* p9 T1 x
{& J4 Q0 ~% Z+ Z6 U' G
X4 ?) _* Z' Y! a4 l
5 }9 A& U! W$ E6 J, R3 ?
if(parentNode.parentNode == null)6 v7 D) j# d: Z/ W6 t- W0 F
{
0 z) q! d" w0 ?5 \: \! W isLast=true;5 e$ t: q; J6 M8 ~2 i+ \
break;+ c8 s) d( Q' z0 C+ T* C$ h
}
. I% L7 [4 I# A" Z) C parentNode=parentNode.parentNode;' q1 b# a- z: J/ k
parentBgColor=this.getobjstyle(parentNode,"background-color"); w3 j p# R7 t5 g, l/ s
# e# D1 S; w3 Q3 f0 z) ~1 V3 o. } if(parentBgColor != "transparent") 6 Q; |# \2 @: M5 w' t
{
3 I( f C# n$ e' [/ J' e$ g break;
$ V, `* {' Z1 z }, f8 c* y+ ^" x+ O: R: M& }
}
5 I. t1 p0 n+ |$ a if(isLast) 9 o) P6 K' W( N2 y d( E
{! x$ K( `: k X2 F1 U
if(debug)
: ]1 U9 I) k" [, k7 t {$ \4 Y+ O' Z6 s' F4 v1 ]
alert("last!!");# W0 y' X5 N5 f7 g" s) h# {9 _5 @
}
% t% O$ z; l. r. g if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))7 g2 p& M) `# A# q4 _% O
{
$ ]8 I) H* Q( @8 c' J+ H orgNode.parentNode.removeChild(orgNode); ( A& I( ?/ L) b5 R; D4 S
}
Z; c) X7 s% c" M) ?0 T' a }
/ t V" p2 ], e3 x else# t1 S6 ^; u+ o q7 R' p# f
{
* ^, A- E5 H! r7 {9 `5 r, p if(debug)
9 ?4 ^9 \* i6 j {1 g) C# r2 |. a, N3 f0 h* l
alert("compare color and parent bgcolor!");5 u5 x* _, N- f/ G
} I* [5 D7 \1 _% Y8 \
parentBgRGB=getRGB(parentBgColor);( e5 T+ V" K) I. d% D9 `
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
% R! j8 N+ T0 k {" \; h0 l1 l& o8 |
orgNode.parentNode.removeChild(orgNode); 6 L( }7 s6 ~( I9 w8 B N7 s" m* ~
}
7 k/ H' R) W, }& g }# ]/ @& b: D- A) g" R* S8 @6 l Z
}/ }) }4 e0 g; f- t
}- m/ M6 b& @- i$ g& C. G/ N9 W+ w0 e% ~
}! P" P3 H) Y3 {2 U7 q. k" F
}
# `2 o+ M8 W$ b+ E " e3 O! G/ E" {4 h0 d. o# x
+ `; g" n2 g% t+ T( U var itemFrames = page.getElementsByTagName("frame");
- g. n2 `1 u+ Q; m% \ var itemiFrames = page.getElementsByTagName("iframe");4 a9 k7 h& L7 x. s2 H, _
9 v' Y/ _2 Q: e# u: W var frame, iframe;, M! k& ^: a! j0 o7 s/ ?$ J* A* K
if (itemFrames.length > 0)
, g; L" W" t: `; Y {
$ r2 x' J6 k1 | R# I for (var i = 0 ; i< itemFrames.length ; i++)
0 d8 u% Q/ M+ D* {, ]3 ~ C" Y$ _ {
- P& r* m5 B( p$ f# ~' Q% |* b- e- ] frame = itemFrames.contentDocument;+ c. H2 C$ J: ?) @* @
this.RemoveHide(frame,objname); 8 T w" e/ M8 i4 H1 g% x$ x7 e
}# l$ B4 R- U: l, j) {& I+ ^
}
& x; \, ^ `! ?7 G& K9 _! c if (itemiFrames.length > 0)
3 B7 T( ]/ b; u' ]4 H {
r$ e. X8 N6 j6 m( { for (var i = 0 ; i < itemiFrames.length ; i++)
$ X$ D& g E2 O" Q {. T# P! ^' D" e" U, `$ p" V& [
iframe = itemiFrames.contentDocument;
$ U% I4 R1 X/ i; Q% m- w8 [* j this.RemoveHide(iframe,objname); `; H# t/ l. P7 o3 C$ G
}
' B4 M6 u- S5 _- z& h }; D7 Q a j, }% m. X0 _/ H. Q% ^ P
}2 R) ]; F8 C: M: \0 L( \9 W
catch(e)* c2 Q2 O1 \2 ?& n: G. W9 C7 P
{
* r4 R) x. l9 v( |* \8 a& K( s if(debug), d3 g( k# J0 \' m
{2 n! O( a& s& e( {& c/ P: d' h( ~
alert(e.message);
2 n3 J) l8 q& ~, j) e- H# ] }
* }( M6 H; X' N8 w }
- O$ }' |# k7 z7 x1 ]; z0 {$ t }) {; d1 J% i- X# E# c
; U' s9 k0 d9 {- u
}
, ~; T8 o+ m( m, J
" B! H0 B0 V. D1 Xfunction getRGB(colorString)
" K( D; D! u' _' ]* V& `8 t{
W8 q+ d' m8 K var RGB = new Array;
$ |+ T* N; a4 Q i var tempSting=colorString.substring(4,colorString.length-1);
+ B1 d) B' z: P p3 f; E# _' q: r var tempArray=tempSting.split(",");
5 o. a% ?1 G& A- ?/ R4 H- l: o( O6 z1 f: J! `% t6 i
RGB[0]=parseInt(tempArray[0]);
) P9 r3 @7 w) o X4 W0 M2 o: G RGB[1]=parseInt(tempArray[1]);) B8 [: H& [. s% {' H4 f/ _" c4 p
RGB[2]=parseInt(tempArray[2]);
6 {6 L1 v8 u! r- ^" Z - Y$ s! Y' W. {$ V$ U
return RGB; B! S! e9 w6 }3 ?' l
}
$ q7 }' O+ M% } U1 `function keys(evt) 8 h4 x+ C/ C* }9 @! s% F
{ & N* C. g u6 `( i, k' ]9 ^ h! ?0 A
if(evt.ctrlKey && evt.keyCode=="81") 5 u4 I5 k, P T
{ 1 ^) H/ H+ m; z0 u
CleanHideObj.on(0,1);
, T+ l% Y' N+ r# I0 f, y5 _5 u1 l! } alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ( c& l7 c1 |9 G0 I* O- ]( P, K- F
# Q" T& j' `# \( C- h
}
8 w2 T4 D% T7 N( |6 ^" o4 q: \ }
1 }! T( v% G5 _* Pdocument.addEventListener('keydown', keys, false); 1 `( K2 n6 H. ]: I2 f
GM_registerMenuCommand ('Clean Hide',
! _& M' {/ D7 q9 G. X1 a, Cfunction(e){# D+ m0 X+ p5 T1 Z
CleanHideObj.on(0,1)
4 O3 c) ^( q: [. V/ Valert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
' Q- U' R, C! m& L3 I});1 R& h4 l2 p0 W! R& `! u6 E% A
|
评分
-
查看全部评分
|