|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
- m9 _ G" v" E9 j0 b; M
4 _4 O) n: t6 P" S$ i火狐插件,用猴子
* p. }5 y6 i2 X2 g+ l* f
, a% y S& ?& P, @& [var debug=false; / j7 ~! j! a- L5 _5 l( ]- ?0 Q7 v
var CleanHideObj=new CleanHideClass();
6 N h% [* e3 n& ]& l8 V3 J! x' N1 T; y* Q
function CleanHideClass()
3 `7 H3 K! V3 p, m* \% c$ a" ]{
1 }. Q2 n. Y2 B . k: u( U0 i2 N6 I# D6 C+ w
this.on=function(id,bMZ)' ?9 W9 X1 x+ a. ^
{5 g+ w* C) o) z2 B& k1 N% T
! k5 L7 z: T: T% A
if(id == 0)* d; c3 ~; p% ^' V7 c$ o4 \
{
0 C( G: u3 k* K var page=/* document.getElementById("content").contentDocument */document; 5 f4 X# U. F! T4 z2 ?
this.RemoveHide(page,"span");2 \: V, s* o+ [( O# i$ A
this.RemoveHide(page,"font");# D X" e$ i" z/ Y8 v: w
this.RemoveHide(page,"div");
! Q& P7 V7 P" b7 l+ h1 E4 s+ s5 q$ Y B this.RemoveHide(page,"p");# J+ F. s) W4 v
; h- m+ f3 o/ z q' ~! t( r }
1 j& U( S+ v2 }9 w- [6 R0 J: \
3 q' K3 ]1 _4 o: N: q4 K }1 |4 ?) x H0 K- q
this.getobjstyle=function(node,prop)% _$ J. h8 H5 w
{
3 c) u, {2 g6 e% g J7 Y' x try7 y3 N, c) E$ z+ ~7 A2 g
{
. W3 C# L/ G) v return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
. g$ x4 s, F! i; E8 y0 e* @/ M$ R }
: |1 ~% C, ?: B/ d catch(e)
9 x! o6 M7 G& H$ j9 m9 c {$ [. G* H& j9 Z }7 L' I
if(debug)
/ R7 M4 x1 @( B0 R! Q {' d& p# N4 N+ E
alert(e.message);" i( D+ i2 I3 ^2 `% A: j2 B
}- d% }- b- q. f; Z9 Y+ @; J
; B8 Q1 t3 \9 T return "200";; k5 w" g1 n# N, \2 n1 M4 f! _6 M
}
0 G3 F; Z3 c2 k( A1 N8 N8 R! V }- T6 [# X8 G4 }( u
% Z5 e' _& ]. w9 E. T6 }
this.RemoveHide=function(page,objname)& T4 m" \: s* S5 N
{
9 z1 H; o4 H# c5 R4 y! D' n; l7 m try& X4 `/ c; ~- S0 t0 j4 n! p
{
/ t! m$ b5 e, C var minValue=15;, X7 W1 a4 ?' u/ `- Q# G) J! F: ?
var objs=page.getElementsByTagName(objname);
) k! x3 |+ f( `. N
, i+ A2 y! c( n4 y if(objs.length == 0) $ F% y: y# E4 e2 {4 e7 C0 ?* \; A3 |
{! f1 ]# Y! ?: C
if(debug)) \! ^$ \. P( A; a1 [- y6 i+ ?
{9 `3 d d9 m6 o& [0 q
alert("no object found!:"+objname);7 @- J9 W1 B, ]& V* l5 R
}
1 ^7 o5 g, G' o6 z ]+ |2 _ }
% s" T1 U' g( h& C4 H; a else
+ A* P8 |' R5 n [7 w8 ^5 `5 r {
8 J* I9 X2 b& w+ C# D, c # F6 x& G- O, ?/ M
for(var i=objs.length-1;i>=0;i--) x# }' q6 S/ Y, g
{, }5 P9 P* s2 [3 i- i
var node=objs.item(i); * E$ y, q# p8 V) _8 S+ P; x
5 R& U$ y9 J0 \9 @' v
7 E0 X5 V8 k% n8 ]4 X8 O if(this.getobjstyle(node,"display") == "none" ||' Y, k$ s7 t- `7 O
this.getobjstyle(node,"visibility") =="hidden" ||7 w+ V3 I2 E" B' U) ^! h
parseInt(this.getobjstyle(node,"font-size")) == 0) 1 U' j* J& P6 [" A
{
4 o( Z8 R* q0 K: u. k7 j } if(debug)
' [' U3 s% X) {7 P/ { {
/ S. P0 D/ |! `* D& Z$ U alert("remove invisiable!");- @" h& F8 Y ], |7 h2 l
}
$ T& y" ?& g8 ^, x* t( f" P node.parentNode.removeChild(node);2 B( k8 N x* J3 o* e9 K. w$ h+ E
* T, j0 q, h3 ]+ r }5 s3 X1 m0 r6 o: v; p) L
else
; \5 H; {5 |0 i( Z {
o3 m; |/ o! I/ I2 R if(node.parentNode) + A" h9 f+ M2 O
{" p a1 C" P& t. m1 t; h
var orgNode=node;
: x9 ], l( ]9 F, j var orgColor=this.getobjstyle(orgNode,"color")
7 w2 {+ s& E! I, p2 G% L var orgRGB=getRGB(orgColor);
& U2 |' ~/ F" H* l; o0 w( B
8 i" g3 D# h) X+ k- \5 h var parentNode=node.parentNode) e7 q& p/ r: u( K8 e/ d9 U
var parentBgColor=this.getobjstyle(parentNode,"background-color");
/ N6 j1 _6 L) n2 q* w : }+ A$ z9 C+ u. n
var isLast=false;
% f% _0 @1 G& M8 m+ J& O) |. P! g / {2 G& Z, { g7 z! c
while(parentBgColor == "transparent") 5 J0 i* s8 i+ n7 f8 k0 s
{
! m% V# o2 T3 l6 j9 K& O0 r
# w, z* G6 O1 }; S * e$ O' h- B0 r8 |' l
if(parentNode.parentNode == null)) U. t2 j! h* v' o- c# Q, w# ~/ J. N
{
7 i8 @. N, d" T isLast=true;" w2 v' w$ N& j" l P) y
break;
9 }* ~ h5 Q$ v6 y1 d0 E }
# E: j8 G E& D5 X1 Y parentNode=parentNode.parentNode;- g3 E$ h3 s, b/ b* B% \
parentBgColor=this.getobjstyle(parentNode,"background-color");9 a$ I8 z H, C; W# `; Y
. V/ v8 N1 K6 ~& X& }) S6 U3 Y+ m; y if(parentBgColor != "transparent")
I A2 m$ b( s0 h {6 c4 Z- T3 x9 H
break;, R0 L- [: b( L n+ n
}
" z) y8 W; V1 z! L2 m }7 U- w$ [' n8 G; y% t+ @; e
if(isLast)
6 V5 i! |' T2 }( c {
- p* f6 s: w- Z if(debug)
# w/ C# b+ [1 `2 f* [3 Y" o6 A/ S! [ {
% d, m. O- b% b$ f( T6 n7 B7 G+ B8 I D alert("last!!");6 W" i; k- f( `5 z$ r
}
1 W2 n v: F7 S: O3 }& i3 V8 m) k( C3 Y if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
% C! l/ M9 ^7 z; ~. c% s {; n( \/ z" S( n( f2 R5 w
orgNode.parentNode.removeChild(orgNode); 4 N- P' Q; a" h8 x$ P& t2 G: \
}- T" S6 G+ r+ ]. `3 |
}
Q0 s' _8 ^5 ]3 a$ P1 h6 f: u else) L4 n1 S! j4 }; e8 n
{5 K/ n- R7 d% s/ o
if(debug)" W0 X3 w- ^& x' d4 y! G/ }) {
{: ]( v. y6 D+ ~
alert("compare color and parent bgcolor!");8 {0 ?6 D* p. D: H
}7 h/ W6 h! J7 |% U* E
parentBgRGB=getRGB(parentBgColor);
( t# v7 A6 w1 k# t, [/ p8 T4 H if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))$ q/ b* R2 p/ `- b
{
, K( ^1 C! E3 d9 a' y" r orgNode.parentNode.removeChild(orgNode); ! S$ \: G, q' t- x! y
}
& u# ~7 Q* j- f5 I) p: z0 s$ ?# Z }' F3 z4 j; T |- e
}
! B1 B; M6 M8 y }4 a, [/ M; R; ~
}
1 y @2 J& B' Z }% Z. v# e- W; Q) s! A H3 e
z5 x6 U. X$ m
+ `1 P' c: U( U6 D. f) r var itemFrames = page.getElementsByTagName("frame");# z, y* T$ N* h9 ^6 S+ o8 a
var itemiFrames = page.getElementsByTagName("iframe");
i* w* ^) r Q5 g# w# b+ q . {) ?6 q3 M( X
var frame, iframe;4 U M# X( I2 f F( ?! x
if (itemFrames.length > 0)0 z; q/ i% ^: W; l; b2 {
{* \ T0 W+ J+ Q! F$ {; z
for (var i = 0 ; i< itemFrames.length ; i++)
# t, d' m3 M, \* P4 ?% o. ~0 Z- z {
* I9 c) \7 x2 @/ p5 H7 Z+ U( e; ] frame = itemFrames.contentDocument;
. c# A- b# e _" s) T this.RemoveHide(frame,objname); % ~5 b+ q B( X5 n$ g3 [, i' y
}3 Q6 Q# y0 m, A9 @# W- a y& J+ S
}
: r8 _+ y8 u; ^; e& z3 Z if (itemiFrames.length > 0)6 _* G2 Y( e2 j0 z- K1 B: v0 q
{
4 m# L2 _+ L2 o9 A c; D$ q1 R for (var i = 0 ; i < itemiFrames.length ; i++) t8 p# Y! z5 @
{
+ t7 |3 y i& k q) m iframe = itemiFrames.contentDocument;4 z3 b* o3 t! n7 _6 L: ?
this.RemoveHide(iframe,objname); 4 D) G" X# @, ~8 o
}
" J- W% m5 A& u' s! |& w, T }' Z# [/ H, G* W
}8 G% J" G4 P* \/ y
catch(e)$ w$ t" g' W2 v1 |! M
{
2 ~" Z! }" x7 j if(debug)
$ \, Z: o) V. ^9 H( d! Y F( N/ x. a {2 Y) z6 |# ^7 O) D
alert(e.message);/ ]8 b5 k+ o1 e; `( f# O
}% n1 E0 D& x5 y
}# n' t5 c1 m/ m; s' L' S
}
: d, Z/ ~ @7 i: o8 D& a2 I: v
) b# F; `/ f% \& e3 V; K5 U5 a& {}
8 O9 O5 H& X8 a* \+ U& Q& b* W% d$ K& E
function getRGB(colorString)
5 K1 g8 l1 ~6 E' j2 f: K{
3 K7 ~& u0 y) Q( E& {7 B9 X( r$ o var RGB = new Array;6 Z# F7 \$ q" g9 N
var tempSting=colorString.substring(4,colorString.length-1);
3 @2 H. h8 \6 d$ v var tempArray=tempSting.split(",");/ d8 n% [& P0 p8 A7 V. o! U5 C8 ~
( x" J; Q0 e; ^: [5 }$ O0 r RGB[0]=parseInt(tempArray[0]);
& o/ y0 ~) B: c/ h i RGB[1]=parseInt(tempArray[1]);
$ G/ K( f0 K: R9 f D RGB[2]=parseInt(tempArray[2]);. }$ K, [& [0 F; m) S- k f+ L5 A
I+ ?5 d3 T9 |$ B/ i* B! V% \
return RGB;
' N8 L% T+ k6 M5 @' V5 [* o& k}1 R% H ^+ O( b$ J, p
function keys(evt) 3 c" N3 Z. R( L' A8 v+ \# N" @
{
! X L- _9 |; X9 N* U if(evt.ctrlKey && evt.keyCode=="81")
0 Y* q- S) \, W6 p1 ~: E1 C% {$ C { 4 U/ o, U, U: j: z* f8 o
CleanHideObj.on(0,1); |6 [1 \, u+ |% W
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ' S6 g* U W1 P# W3 p$ A( V
( ?" O0 n: V+ O: U9 R
}
: o, u1 ?1 d W+ B }
* v, n" x2 a5 sdocument.addEventListener('keydown', keys, false);
) A1 T) ]: s; T) J" {% {/ Q0 S' ~GM_registerMenuCommand ('Clean Hide',) V4 C7 z( [, E/ j2 c+ q# D( k/ w m
function(e){
- f% i+ k' T5 ~) PCleanHideObj.on(0,1): j3 P% r( L4 e$ U! m
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");, G$ k: X) Z' F) O
});
5 ^' r, d' v* N- }2 {" h! a7 e |
评分
-
查看全部评分
|