|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
. Q' w8 O% L1 ]5 I6 Z' }9 X8 a1 t3 h' s+ x+ Q7 n
火狐插件,用猴子
' s. j2 \- U7 r& p* x% G/ V7 O1 B; v
var debug=false;
, w' u1 H$ q" ?: K ]# z; F+ wvar CleanHideObj=new CleanHideClass();
, L& Y' }5 A& B6 H, D, i' O6 N
5 I5 P) Q6 x, W1 M# Y# u; A: dfunction CleanHideClass() 7 t, a; X3 R ~( V) j, j" d9 W
{
$ i/ z+ b4 X3 A1 n8 B
; J, }8 }0 z' L this.on=function(id,bMZ)
& t) c1 i. s$ G* ~ {, G; i% ^0 K; v6 Q/ d+ Y
' C. z4 j0 K( r. k if(id == 0)0 R3 I) q2 B5 O0 T
{# D) e! u8 K5 ?0 k6 p2 l( a* ?
var page=/* document.getElementById("content").contentDocument */document; ( t) M8 H$ O1 e* U3 N7 a
this.RemoveHide(page,"span");
; y1 ~" l# ~& o" r c8 z this.RemoveHide(page,"font");
$ N2 W0 ^8 p% o' x this.RemoveHide(page,"div");( g0 Q. @8 t9 B& j% H
this.RemoveHide(page,"p");# A0 Z6 a4 @& C) C) I% S+ z' k i
8 o. X/ I/ L5 d$ C/ `! u% m
}; J- W2 ^- r$ e4 G5 y& A
# Z: F7 ?) T# P4 H5 d1 K: C* a. d
}
- z3 J6 h7 p6 \8 e: w* k7 V/ ?5 c; v this.getobjstyle=function(node,prop)4 G% g7 ~, z! v2 K& L
{+ s& \8 u+ H2 F4 S x
try( t6 x. w; B& L9 x) @, i
{
# K+ a! R7 B( L$ c+ j5 p return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);, ^, C4 O$ u/ |7 a6 E# `& e1 M* O# F& N
}
4 W( \; M1 i D, I5 r9 \+ u catch(e)
. u2 ~0 x* `# n- O% B# t {: O+ G5 @$ F3 p1 j/ k
if(debug)
/ j' n9 k1 F/ U, p: d* m6 o {' O+ a9 y/ V' T3 [
alert(e.message);
2 B h- U4 g* Q* ` }! i# p& L* l5 M& O4 Q1 s2 y$ U6 w
0 @! N2 O' _2 p: m: J" k return "200";. Y1 M( U; z1 x
}4 n2 P# ~+ Y7 o8 J; B) p
}6 z! ^1 U6 \) f5 D+ S3 w1 c, u% A' v
6 |2 ^; s0 w# t' x! K" ~ this.RemoveHide=function(page,objname)
8 N& l; K9 G( x3 P, Y, C8 I1 N {8 Q4 `8 h1 h& v2 y/ n: ]: P4 L5 U
try
8 _) L8 K* Z5 ? ^/ ~+ W" F- A {
/ }1 Z5 ]+ H, v3 u W* ` var minValue=15;/ L3 |" c+ g7 `$ D) l5 t4 @1 Z& e
var objs=page.getElementsByTagName(objname);
" p& S! {3 K; \' G4 v( I2 l' M% z3 q6 \' q* A( X
if(objs.length == 0) E; f* q: K9 ^: s) |! V% g
{
- t' m7 k4 J* F& O+ c# o if(debug)' A: V' X k( O' u6 J! B' n& o8 V
{
4 D. Z& @% p% [7 G alert("no object found!:"+objname);
' `" b. x: R, V. @ }! v3 G" W( A% P2 z
}3 `9 \: W# H4 T& ?
else
& E& Y6 Q+ r3 x4 o {* v( l0 P4 w' s2 K, K( d; Y
# |* n9 K3 S5 Y+ W& z) r9 w: y
for(var i=objs.length-1;i>=0;i--)
: M3 I! n: Z$ |8 |# u {) Q) d3 X+ l) S+ G9 i
var node=objs.item(i);
9 [& i9 Z, A p6 r7 ~
& Z0 g' r& t' m, i% V' C( m
+ l' G+ X& U5 }2 J: k8 ` R Z: t1 ^ if(this.getobjstyle(node,"display") == "none" ||
' l; }* k. B" K( A2 Y this.getobjstyle(node,"visibility") =="hidden" ||+ l2 K' A. b0 z; I) g1 s3 y
parseInt(this.getobjstyle(node,"font-size")) == 0) $ ?) u5 p4 X. Z! i% x: @0 u
{
& C/ x2 y4 n! D' v7 o, g if(debug)% O I4 x" z9 C
{
4 b+ q3 i9 ~5 V alert("remove invisiable!");9 B Z- S8 j' f$ g, u" r
}
! E7 R" }, |& O4 j F( Y C node.parentNode.removeChild(node);
, p1 g& d+ V: j4 g % n8 H2 ^2 o2 w+ u: R' T8 f b4 E( A
}
" d% k( [' G) d L% H else 7 a, b* o; e2 N1 x" w; f8 s
{
$ {" C+ T5 Y! { O; ]8 ]% a if(node.parentNode) ; d; | G$ t$ e2 _0 \8 \4 P1 }, f
{4 V4 s3 b x# A# T; J! O
var orgNode=node; w# |& \$ @$ Q- P5 Z2 h
var orgColor=this.getobjstyle(orgNode,"color")% \7 R5 q' Z5 @0 M
var orgRGB=getRGB(orgColor); + X6 P$ }* R. |. a5 N
) ~/ a @" |% b) _6 ~- `
var parentNode=node.parentNode
$ [4 R' e' w& \ H( M7 w var parentBgColor=this.getobjstyle(parentNode,"background-color");
9 ^5 M8 A' ^/ o& \0 O2 H y a5 |( E5 `8 B+ I- h
var isLast=false;: _6 ?' {% X9 s6 `* N
' ]) }5 P. X" j- B7 s9 [ while(parentBgColor == "transparent")
) J& A; R$ ?" ?7 _' t {
& z" s: l, s2 A / o0 H, G, ^ \7 j
8 }# {7 I D2 r) @
if(parentNode.parentNode == null)9 M ]2 L) {* \- G( Y
{# @/ q7 W3 x! _7 P
isLast=true;
7 R8 F& V' k7 q0 g- ~' Y break;* @, L# Y+ o P1 B0 F1 X0 Q9 F
}" T+ f& }; W9 j: j2 z
parentNode=parentNode.parentNode;
0 r; a7 W% i# j6 k% t9 Z parentBgColor=this.getobjstyle(parentNode,"background-color");8 ?! m' B j$ |+ J2 C* H( ^
2 J) B) z* F e- T4 p5 B
if(parentBgColor != "transparent")
f9 `& r9 \! F3 ?3 ]( d a/ l {% X u& v/ u) P8 y0 z
break;
8 A7 M% D. H* d$ C9 U0 s) Q }7 W2 _, V4 p6 ~- f* [( w( z3 H% L; a
}( K! J' \6 M* b3 h T$ S
if(isLast) ) n6 c0 t: Y- W q$ }
{3 c# w9 A: z" W/ p8 E; Y A
if(debug)
/ F F3 e; E |9 H0 Q7 M {( h/ ~ b* K o3 _0 ?
alert("last!!");
" D# N; H9 R" o2 [ A9 A+ v }
, v- V' U8 R2 d/ k9 ? if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
' @! ^6 E# V! A1 F' p" J4 l. u; i l {+ `. e3 u$ ?0 g- u Q7 h
orgNode.parentNode.removeChild(orgNode);
( p4 r# r9 D) `& V }* x; Q' k6 e/ Z! P+ {
}
/ k6 s( m8 ^/ b% G s: Z r else/ c( K9 `: m5 P, p
{
8 @8 y+ r2 F: t* I, ^2 R if(debug)
3 A; O$ V; W$ M; s, P& B {6 H% K% ~) w& E- E4 S
alert("compare color and parent bgcolor!");
+ |8 t( ~9 p3 U }/ e5 Q' `8 J2 p! l9 \% x
parentBgRGB=getRGB(parentBgColor);$ i. t4 n& c; \ H7 A
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
0 P, G1 [' _' A- f i9 b. B {
' ^, I- M- A+ b" \. C2 g orgNode.parentNode.removeChild(orgNode);
* x" ?- \: Q7 e; M }
; x% m7 B! ?( Y3 Y$ p }9 D, z1 K9 G4 d0 ^8 _: _- `: M
}
$ `5 u: a" ~* e: Z }
/ I5 {/ f9 P8 W! h" x& U2 p2 W }
2 I/ N" J# y, x+ w9 [ }
+ ]0 R, O3 \6 a; R 5 p, V& a$ V0 W! R
5 v+ K! r* V0 ~6 _. L$ F var itemFrames = page.getElementsByTagName("frame");
: o; }' ~4 u) K1 h* c' s ] var itemiFrames = page.getElementsByTagName("iframe");
8 k9 L- x7 \0 ^
1 ~/ B1 k, v2 D- e$ Q& o9 { | var frame, iframe;/ @2 @5 O, W9 S; W
if (itemFrames.length > 0)8 G# x. k5 S+ S" |# m1 e* p+ G# \
{
, x) u8 p1 x' j; B7 [0 q* s$ l# p for (var i = 0 ; i< itemFrames.length ; i++)
& q2 N+ X1 Q1 H6 f" p5 |2 A0 D/ O {" R; A/ E6 V3 Y" c8 i5 L! \: I
frame = itemFrames.contentDocument;6 ?5 j1 m. y! q# n! W
this.RemoveHide(frame,objname);
- t: z% L& y2 X7 f! T! n, Y }
$ ?' s/ M7 M% F6 G1 ? }- V# r ]* m8 C3 k% M
if (itemiFrames.length > 0)( l5 {9 Q& \9 G8 |% H- R# `+ K
{
. y- @: e; \- F0 q9 R" W* Y+ j for (var i = 0 ; i < itemiFrames.length ; i++)
1 d$ \8 T* ^% s8 N6 k; M {8 y1 ]" I- t- }- u
iframe = itemiFrames.contentDocument;
/ ?7 H7 O& i" U7 o) g# g, w3 S this.RemoveHide(iframe,objname); , v1 P5 V2 v4 _4 K- Y7 F
}/ _7 o/ C6 R& m! c9 M( }
}
5 l) r' ]" D( k! Q5 x4 A' h% D2 s4 d }- a9 [) I/ {4 k: ]
catch(e)5 d) v1 P; \* G5 `+ l0 O8 N0 N
{
% z, V1 H" j& d9 m9 [ if(debug)( o' ~) l. a9 b& a' S
{
% M y- s f8 z$ f0 O alert(e.message);
3 z: q: g' s3 X7 Q+ p; f }. K1 ~5 t8 y5 G; a* j$ x
}
Q8 w/ y/ Y; w2 l" o" Q- I }3 c) b5 t8 h$ x2 R2 p) P
6 C0 l! u: Q( }0 @}
3 s2 o7 v$ U% G- I
9 J8 ?. s" Z! H8 R& nfunction getRGB(colorString). K x0 ]" |0 ]. m
{" Y8 ?) p6 W9 R$ Y- |/ M" [# q
var RGB = new Array; A3 i9 z- r% x) [8 S
var tempSting=colorString.substring(4,colorString.length-1);
{! c; v( u* Y6 }4 ] var tempArray=tempSting.split(",");( S3 u8 s; Z) E5 `0 p4 [
# f; }; [/ X! R Y" ] j$ ]6 r$ ] RGB[0]=parseInt(tempArray[0]);
) |1 j0 {9 K+ |; [- z RGB[1]=parseInt(tempArray[1]);
% Y* ?% W7 X' H( A+ n* y RGB[2]=parseInt(tempArray[2]);
/ \* Q( k' r+ l$ u1 T 0 h: u" e9 z3 J5 P/ F: H' }/ b8 u
return RGB;
, C* {; k+ Q( Y/ m% ]+ B) @}# W# e0 C( ~4 X
function keys(evt)
* @& D7 B3 K# m/ `! `/ s2 _) q, ` {
- M1 _% U5 o2 m- r$ b if(evt.ctrlKey && evt.keyCode=="81") # z) m% X; o) A* o( Y s( k% w
{ # E) i; X/ A' C
CleanHideObj.on(0,1);
$ ]1 X; j7 n1 B2 F$ l9 J alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
! k' ?4 X y% v5 _, f& u 4 {8 \2 @$ t# ]; U( O" ]
} ! \8 x8 G2 R; r5 K3 O# }8 V
}
: |5 u, B/ }* g% x; Y( p( Odocument.addEventListener('keydown', keys, false); & \. X9 M! ?8 g3 p
GM_registerMenuCommand ('Clean Hide',% Z3 C+ }7 y2 c. T1 S! U. M7 d& d
function(e){
9 P! m! i- w0 Y/ JCleanHideObj.on(0,1)6 }% V& b$ T2 g, C! w3 D, E' h
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
3 w1 p8 p8 O: p5 l; Q2 H}); h8 k. d- i4 R4 j% a
|
评分
-
查看全部评分
|