|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 $ U' U6 e8 s" z d8 L5 M1 }
3 D C5 b$ ?4 V% N( `) B5 s2 f火狐插件,用猴子
, A/ a% z+ c; x) d/ @( f* d
7 A9 n& W& Y1 Y! hvar debug=false; 5 C4 D1 P$ p5 u6 p6 u
var CleanHideObj=new CleanHideClass();
9 o! _8 N9 G4 t# f- L/ u# W- H4 n- U/ Q# r, D0 ]! i; W
function CleanHideClass()
' N4 E, ~: l* v9 _5 r& w; [! S{
4 _& |# _) u4 R) e " i* a' }% P( x+ |: ~% n" h
this.on=function(id,bMZ)
' G% k: Q# c, t' i" | {. F* s5 w# _1 ^ G) F( [; Y4 ~
: @6 s2 J, @. b4 a0 t if(id == 0)
. a1 m7 l0 r0 k( Q& R9 `' Z9 l {
) x. F0 H/ [% G/ ?" L, s var page=/* document.getElementById("content").contentDocument */document;
- C' i6 D4 L ]$ x* W0 h this.RemoveHide(page,"span");
2 q+ Z! O A; x# c& K8 f$ S this.RemoveHide(page,"font");- S2 o5 q. O- ?9 c% Y6 v
this.RemoveHide(page,"div");
+ U1 D, e8 H# \ B this.RemoveHide(page,"p");
' R6 y0 \. q1 [& \; @6 T- c" \ l c
& O7 N4 E) x* y) z% x+ Z8 y }
2 T& v9 n6 L5 G$ ~
8 H v; }0 V5 I }
. O7 }* a# z O3 q2 i this.getobjstyle=function(node,prop)# Q* s' ^& r1 c* @* u5 A
{
/ J! r7 _4 X0 R4 y& p* [2 B try2 T. F+ ^! p' N) M( P
{6 T) H4 G# m7 M. w% t$ h& E3 t0 K. q* t
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);& o4 H3 K- A% l2 ]' C0 ~6 V
}
4 \( v5 F6 E+ d& ^/ `! M catch(e)- s7 h7 p8 U3 `
{/ T0 @6 u5 h$ U. ^% o
if(debug)
: W7 X: i# @, J; P% W {9 U& A+ d1 S0 d" @
alert(e.message);
1 h i. \9 y9 @4 i4 [* _% M% w9 D: R }
1 A4 ^% _/ c: m Y8 {! U
8 C2 L/ S7 c! \ return "200";3 Q( S. [: W3 c+ ^8 @) H* H
}
5 o) x, {/ {0 O( s( E! E }) R' }% Z4 `4 m6 ^: @9 w a
. X5 H! F' X) O this.RemoveHide=function(page,objname)
3 ^! o% _5 {: n0 s {, _# D7 J" p0 s4 c# g
try
$ G4 k. Y" C1 S0 o+ R0 x {( s+ z& U- U- r1 c$ p. w
var minValue=15;7 Q; w' A# ]9 P2 O
var objs=page.getElementsByTagName(objname); 2 S* M3 W9 P! B1 W | T2 {
! W/ `7 P7 L; t& S! \% P2 l
if(objs.length == 0)
% B* J9 i+ r7 Z# i {7 b3 Z5 Q% K8 ]4 h) D/ d
if(debug)
. u9 k- Y _! A! y0 T( \6 }$ z! k {
! J; \" c. o3 Z7 S) q8 j alert("no object found!:"+objname);0 z2 a/ ?& m, N9 Z0 L% ^2 c
}4 ?6 ]3 r7 H" s8 z
}1 W; G1 d' C3 e( W& ^
else# t2 w1 F: ^) c! i6 u8 J, z
{
4 e l0 L4 ]& U$ ]0 E( x
# z1 i1 L# E) G8 N for(var i=objs.length-1;i>=0;i--)
2 M# s2 r6 ~1 ^: U) ]6 ` {
7 {8 U3 k: ]* a* _9 ?9 v S var node=objs.item(i);
$ s$ a1 @8 ^" N: O; ?- S, E8 l# i
2 T* Y6 h, [, l/ g- F4 ]
3 M7 U9 o; h S; k; v' s if(this.getobjstyle(node,"display") == "none" ||5 I# h. h' D6 O4 l v
this.getobjstyle(node,"visibility") =="hidden" ||7 C% y& j( X' C5 W3 ^9 h
parseInt(this.getobjstyle(node,"font-size")) == 0)
* `4 t6 T; _0 J, k% w: ] {# C5 B+ Q- D1 N! v' a& b
if(debug)
$ h6 @5 B+ H8 C {9 Q" I0 O: c, u# r
alert("remove invisiable!");
' K2 G5 W6 k8 U8 M O! ] }
+ W4 I* I. k& j" m* h$ [$ L node.parentNode.removeChild(node);8 g' H' Z- p0 D& t& U( _% B
) P2 g- s4 ~ y7 s" M. C }
! W$ d& S, }0 y0 e2 ^ else
3 x; x8 g+ b( }+ O* C; z {: T0 n- `4 U3 o9 ?0 j5 v) X
if(node.parentNode)
: b0 J9 K( }2 k/ j1 P5 S {6 N9 `. {8 M! A5 ]
var orgNode=node;% R5 `6 B9 y# }1 F: `. @- _4 g
var orgColor=this.getobjstyle(orgNode,"color")0 M; K4 x* Y* s v3 t
var orgRGB=getRGB(orgColor); 2 T$ W, f, c- u! S [
6 S5 ]- G4 g N# E$ I. r' _8 o var parentNode=node.parentNode
* k1 b# U, ?. G+ k3 M var parentBgColor=this.getobjstyle(parentNode,"background-color");
& [7 X9 M- w* O5 s
7 k, E% F) l0 F! d3 d var isLast=false;' V p( k1 T4 I- i1 `
1 E. I1 t0 J: y3 F4 w while(parentBgColor == "transparent")
. ~1 T! e# \+ D [) S {- V+ t E# |. ]6 n- }
2 x( h. b0 j8 q; [5 t+ b: d
+ t- D# K% D* h$ w' n if(parentNode.parentNode == null)$ \& `. S2 p; u' A7 f" o$ f
{8 E* }2 h* `9 U: A8 u3 o* Z
isLast=true;; S$ t1 l o/ Z( G4 Q! R1 X
break;
' C; q5 H- {0 ]0 s0 h }
8 N) r& N6 Z) [: h4 ~, j( n# P parentNode=parentNode.parentNode;7 b) p6 \# w- Z$ z
parentBgColor=this.getobjstyle(parentNode,"background-color");
# E7 A4 j% H( G1 |) s4 Z
3 i! e+ I4 W2 H if(parentBgColor != "transparent") 7 t" ^/ S7 Y& I9 b) D% f1 C
{
7 ^" K9 y, p" h7 V- L' r, c, } break;3 S+ x8 l7 J) l+ e# G! F& d
}
: w5 {9 y! Z9 i" L- o4 U }
; }3 R, ?" ?/ M- o" g$ J if(isLast)
2 F7 |% q" C: d8 A {3 N' n ]8 S3 ~, o4 e
if(debug)8 ]0 E0 N; S2 [3 }' T
{* T& u$ c! z( Q/ b G/ r" B" L
alert("last!!");5 z; Z3 D4 A- t# y6 u: j
}
) Q) _1 t+ ~9 f' T$ d3 O, C. g if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
% H% k) J8 n$ m! n2 o {/ f+ t0 J0 _+ J) N, z* l
orgNode.parentNode.removeChild(orgNode);
$ n, Y5 N) o3 b/ L0 D X+ d }1 g1 j8 c, \4 `; ~- G
}" ?: I3 t5 ^( v5 c( ]$ D
else9 k# ^' Y- ]& W! y6 y
{$ }6 N( S4 `& x- e- W- R
if(debug)' L3 ^* e0 y- \
{6 Q- _* S9 S4 Y- T z/ N B
alert("compare color and parent bgcolor!");
% I7 a+ _" V* X+ _$ l }1 w. ?2 I4 q+ s5 R. P1 k. t
parentBgRGB=getRGB(parentBgColor);, J4 C, j, l6 a5 F- {
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)); C, g& W- @3 s- O1 h& j- n# w
{ F' J1 h2 Q! ^- M9 }4 m, E3 p; C* ^
orgNode.parentNode.removeChild(orgNode);
5 D H% O4 d1 Q& q8 J1 H# c& E3 l* S1 W }
! [% N; m6 t9 [+ K% a9 d }
Z* s ^) f( W& P1 i }
4 P5 i" S2 W+ y5 f }$ w. h2 X' ^6 N- r1 g# F
}
$ ]. _# L- _$ z/ _; p! Q+ C' X. O }5 X6 |- y0 Y1 r, N- V
: V2 k Z, O; @6 r
+ y1 D, Q1 w: r8 c' z var itemFrames = page.getElementsByTagName("frame");
5 T l ?; z; W) L9 O var itemiFrames = page.getElementsByTagName("iframe");
' J- Q, L9 F' T, O# D4 P ! y7 C" F0 j1 B
var frame, iframe;& q# W7 j$ z" E4 ?. |6 E- i8 g0 H6 ^1 K
if (itemFrames.length > 0)6 f( [2 K: _: z5 S* Z; }7 `4 c
{. v t8 ?+ q2 i+ R5 C# z
for (var i = 0 ; i< itemFrames.length ; i++) # b9 m- j5 I# E) ^/ }2 ^
{
% _9 s B+ ~6 P1 b frame = itemFrames.contentDocument;2 d. W) ~: M5 {6 [# J. d
this.RemoveHide(frame,objname); 2 K" Q. V$ b. x7 \3 S6 J. u* P
}
! T: [* t' S( d6 g3 l9 g8 q }6 D K- S; K% Q7 o# c, [/ t' H
if (itemiFrames.length > 0)6 G7 I, e8 R# K, X
{5 |0 D4 \' f9 q) |) }; J
for (var i = 0 ; i < itemiFrames.length ; i++) 5 `" O, E# `& n1 v+ J% q' W3 y
{) C0 f- q& R0 r2 l: g7 z& A
iframe = itemiFrames.contentDocument;. L. g0 }* P1 R7 _1 A9 S: ^
this.RemoveHide(iframe,objname);
, L/ D$ i$ P( ]4 Y7 P }9 K4 S* \4 B* O( {+ T
}
1 d V/ h1 Q: }& `: e }. X/ d G: z* _& I/ n
catch(e)
: Y! t" D1 A9 ]6 F* R8 C {
2 x$ s% h8 [: t( K! x, e6 [ if(debug); M1 R, T# T' Z7 Y2 e# }' z
{( F- d, j. [" B7 B1 ], E
alert(e.message);7 }( l A% I, J
}% r, J- l2 X" u* [
} w* U2 f3 G7 J2 n, T( D1 i
}
; P: p% j8 c7 i- Q5 r7 ?( u! i 0 I; t( ~" Y) Z- [9 Y
}
+ y5 |7 ^4 v4 f9 A% q) |8 @
3 i) a/ y4 n8 o+ W' q$ e5 @function getRGB(colorString)
: Q2 v) i; b# i4 m# L& _{
8 d6 N9 g( ?+ J var RGB = new Array;
$ x% q J! B) b: n var tempSting=colorString.substring(4,colorString.length-1);
! d* [& n {6 K0 W var tempArray=tempSting.split(",");$ e( R! U- k' @: O5 x; `
& o9 y8 D/ n$ p8 m$ j RGB[0]=parseInt(tempArray[0]);
4 G# M: `: T+ e# B+ B; s RGB[1]=parseInt(tempArray[1]);
2 j) m4 @4 Z! m) y" B) x, s4 q RGB[2]=parseInt(tempArray[2]);
( {8 N m$ f( }+ } ) I" m0 w- m! X/ n
return RGB;
b4 Y0 V! h) ?2 p9 R& M}
* l& |8 I8 M1 B1 _$ n8 mfunction keys(evt) 2 f6 C9 [2 _; l w* x; N0 w" T5 ^
{ ! O. A6 f4 C% O( h' k o
if(evt.ctrlKey && evt.keyCode=="81")
" Q4 { Z8 L9 K, n { 4 Y7 J& `4 G9 [# ^! Z
CleanHideObj.on(0,1);
3 e9 `1 T$ `* g2 j alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
% s6 n" C4 \6 ?+ n
, L1 e* M! ], p9 r1 C6 r } # q& @2 z! N: \7 [$ P' o6 Y- k
}
9 A, [+ a# ~$ a! m' d4 }document.addEventListener('keydown', keys, false); * L/ b' Z$ b V( ]
GM_registerMenuCommand ('Clean Hide',
J! j. l; r+ L+ Q% L) O: Jfunction(e){# G' f& D7 z$ h$ E" ^
CleanHideObj.on(0,1)2 ~) l _: h) r q5 r* V5 J
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");% a0 e' \7 u2 [2 O2 Z
});
& W. ?. C F0 `: d# a; Y |
评分
-
查看全部评分
|