|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 6 O$ E0 Y B9 V d9 b3 _, O
9 W8 o2 i+ f) J2 d
火狐插件,用猴子0 x# A5 x& U* c2 b
' m( S3 v' y2 ~+ R/ F* nvar debug=false; / j8 x* G& E8 p, r# k; ]- T! a
var CleanHideObj=new CleanHideClass();! X, I" h5 x2 }- E0 c. g" d1 y' b( w( v
+ F9 K0 Q+ n e. X. H! Xfunction CleanHideClass()
+ ?1 J' v! k4 J1 d# {3 l( m{ ; L6 Q/ C0 j6 T( r& h9 y
) ^$ @7 n* x- ]2 D* f9 D this.on=function(id,bMZ)& a4 ^7 P+ N; L3 f# k$ Z. e% \
{
$ \& s( v" i% g# C : Y: r+ U5 x S, r% s' q
if(id == 0)
! `& k/ D Q* w) G7 q& ] {, d6 ?8 V! Z5 L5 R
var page=/* document.getElementById("content").contentDocument */document; * [* {% [4 U6 J; v) f
this.RemoveHide(page,"span");0 j- |# M3 j1 m6 S
this.RemoveHide(page,"font");
$ i& Q5 }+ X- P! C this.RemoveHide(page,"div");
) k" M4 Y; d4 p) S; N, j1 k this.RemoveHide(page,"p");% ^" ?' M3 t5 r/ h* F
5 C3 N2 W5 h' X }
- I4 N2 F$ A6 D% B; C 9 \3 R: ^5 X* I3 T8 t" c& z
}
6 d4 d. `) v+ a$ W5 V this.getobjstyle=function(node,prop)# ^3 P" G9 M& t7 u. B( g
{" h' P3 i" z' P! q1 V7 u2 ]
try
4 X* ~6 T6 _' d6 M {
/ y- j O0 b, S5 ?" D return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);2 ]7 Y w7 T6 G2 l4 r+ _$ X+ [9 v
}& `* y: X" `, p$ l/ Z( R
catch(e)/ W0 q7 K" G% N1 X8 @& |0 ]
{
' e( y4 R) ^: S8 A if(debug)
: D3 T2 B2 U6 n. `+ |8 s* Z9 R {
7 }3 H$ N/ G" w0 L K alert(e.message);
8 L- i5 ]4 h6 l }
3 u* h- G$ I* h; h+ G
V Q! q( h7 t3 L+ i) B return "200";
" y' k6 B, X! z5 f: h2 f$ z- o }
0 x# j- w$ f/ }6 n! ?% ^$ y }
+ F A' Q! z- u0 G P" x 2 a2 r8 u9 h% {9 l1 l
this.RemoveHide=function(page,objname)
( v$ \0 r' j/ j9 e! H {/ w: {8 O" G; O; z
try
3 Y3 A/ Z9 ^" y1 b# H {
/ m( H) ?: g/ p# G5 y* }# I var minValue=15;. L/ o+ U$ F! [# Y0 t
var objs=page.getElementsByTagName(objname);
! k# M4 N" m% E( p* F' V6 J* L! N2 x8 r- y4 t: s
if(objs.length == 0)
1 p( K0 Y% A* `3 D$ j) Z {3 ~; `% U5 L3 [ ?
if(debug)
$ ?, ` P+ |( I. f" f- `) `2 X {# h* W+ [+ L9 w; _% x7 ]; i$ a
alert("no object found!:"+objname);! b: _) A& L) ~2 d8 A8 C! x
}
' B; K- z0 Z1 E! a }: u$ m) i1 I/ Y' f
else
3 T% ]$ v$ T. [- o; `4 {, _( {2 @5 G {
+ P" l' u# Q8 ?, W: a! U4 L & C; H, o, ^/ x/ d
for(var i=objs.length-1;i>=0;i--) / Z0 ]# Q- W- k0 C
{$ f$ x% B$ K5 X
var node=objs.item(i); ) E; @% P" n: l
/ G7 q; |1 s6 B* m' t( n( N3 V $ [' c% d7 A. O6 u: h
if(this.getobjstyle(node,"display") == "none" ||
. J/ d. ?) Y. ^0 q this.getobjstyle(node,"visibility") =="hidden" ||
. w# q5 [9 B% b# w2 H parseInt(this.getobjstyle(node,"font-size")) == 0)
1 i3 P3 ~1 _6 D* I. V" ]2 L {
: W5 e$ N% y# P! v9 @ if(debug)
8 U N7 u! v- Q {
! F! J3 g8 Z" N& c3 o alert("remove invisiable!");
9 H2 q( m) A! j2 g$ l1 P8 `3 S }" C# a, S$ |* R4 [* H/ `) V
node.parentNode.removeChild(node);6 l, e( N; U( Q8 d+ N: r
7 B! z8 S( J' E; B
}$ ?' y. S! [5 r+ \9 h* N7 F3 E, T
else
$ c# `6 b* K; y {
" C7 X. J( N# u( I" b$ E# \8 Z' { if(node.parentNode)
8 Q' W+ F' Z% d6 O z" R {
( h1 S4 w3 x% }7 k" Y, a) z2 f var orgNode=node;: f& w# ^) ^- T! D0 s
var orgColor=this.getobjstyle(orgNode,"color")
4 H9 U; p$ _6 ?5 [! J4 I9 v var orgRGB=getRGB(orgColor); ' e- `1 o2 I3 F; u$ z
! `* L8 {2 `$ [5 t1 [5 s) Y
var parentNode=node.parentNode
8 t3 m( d/ G4 O" i var parentBgColor=this.getobjstyle(parentNode,"background-color");
& Q! G! ?% l7 P" \# p0 D
/ L5 K* f; o' F- i var isLast=false;
8 Y: A* `9 E d, e
) G* q1 i* h3 k" \ while(parentBgColor == "transparent")
8 S& j; e3 ]' N2 [: Y# I3 `( z {& U# V0 s, G6 F4 _3 Q
U/ o9 I% c5 t9 J ' D* s" F% j8 T+ A
if(parentNode.parentNode == null)& w& s9 K7 ?! h$ K: g
{; e0 a# S V i! W$ b$ ]
isLast=true;! g- U- r) X+ `: O4 N& l# Q
break;$ T+ j$ p$ R: p5 l
}
" {$ n8 X0 w$ W# X& f; h9 C- Q) `" [ parentNode=parentNode.parentNode;
( x/ ]! q: {$ k- Z parentBgColor=this.getobjstyle(parentNode,"background-color");( ^. n% P, p4 U
/ ?" F3 l0 A( Y: y
if(parentBgColor != "transparent")
: [% m4 _! g0 o0 M {5 P2 ~9 T( Q: C `, _0 G4 p
break;( ]' P& c+ }8 _9 B
}
. o2 ~) g( _8 T2 H0 {! s }
0 g! ?5 b- V3 k1 e/ U4 K8 Y if(isLast)
4 x0 K6 |8 w) n, S8 k \7 u% \ {% T$ D9 y" X+ f0 K2 x+ f+ v; i$ R1 Y
if(debug)
7 r6 a5 H2 v$ l {) {8 [- j/ u+ }, C
alert("last!!");
8 {. k% U% ^& Y& l, ^0 o( ?. d }5 U4 ~- f' @4 k1 ~' p( m0 P% e0 r
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
& n, l: `/ k8 Q' W3 x9 M( d. d" k {
( x2 R8 }' L2 U9 |1 j orgNode.parentNode.removeChild(orgNode);
$ a( V# @% b. z$ D8 ?! L! M }
. h& j" ?' |/ b% [ }
7 W4 Y' ^# U$ b else
, x( y- p+ x7 g7 w) n% M {: }& G4 L. S$ k$ f7 s! h
if(debug)
+ ^' e. d% B# p2 p; f6 Y+ k {
: f+ Y3 r8 {4 o5 l! M$ t a alert("compare color and parent bgcolor!");& ~$ C# J$ e# M, T( V
}
0 \- M$ P4 F3 f parentBgRGB=getRGB(parentBgColor);) w0 j6 H8 w; k4 l. M, g1 [9 a
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
, o; D3 ^: X/ \7 S, L. h {+ e! H4 C. f- U( b3 \
orgNode.parentNode.removeChild(orgNode); 7 Q# A) Y& Q4 h% ~# v% D. X% s$ x
}
6 E" U' K) V. X7 T' m9 T }1 q$ @1 ]* C4 h o. `
}8 e- q3 `( k+ e; D
}
' V% u1 f% l5 ] Z* @, S& ^. P }( g) B' k. r# ]1 K
}
. I4 o& _- j, z# s& S ' w" z+ [% F5 e& _% a9 E9 N3 P
) y8 \. b) M+ T. W; ?7 @7 G var itemFrames = page.getElementsByTagName("frame");4 G: T1 h+ H+ j* p8 C4 j6 q$ w
var itemiFrames = page.getElementsByTagName("iframe");8 I* N! }' f' T
7 Z$ [/ B! D' S8 r( m" s
var frame, iframe;
( ?- G& Q! G* x if (itemFrames.length > 0)
! b7 | D5 s' C; |' G( m: ] {
+ i j7 W' z$ K0 |9 s% \# }. L for (var i = 0 ; i< itemFrames.length ; i++) , A% P! o% m3 l3 ^, ^9 h D
{5 s$ @3 o# ]5 t
frame = itemFrames.contentDocument;$ U6 n9 R, c* b4 m: w
this.RemoveHide(frame,objname);
1 F1 e$ _9 r; X) @" g& ]4 f }0 Z9 d% L4 a0 L
}7 \1 w( W0 O3 d6 X6 z1 M
if (itemiFrames.length > 0)" @$ M- d9 L; I$ y! ?' `
{
# E* o$ ^% o8 B1 h/ p6 _: w for (var i = 0 ; i < itemiFrames.length ; i++) & R5 ?8 M) ]) J* ^# M" N6 e
{1 r, j. r( n `* b5 Q0 |
iframe = itemiFrames.contentDocument;1 a( E1 J1 D- b/ m9 z- n( O# t
this.RemoveHide(iframe,objname); * L& g! [4 i$ g) T9 m
}. F/ D; g% @+ g( \1 G: m
}
+ C' _0 r, T! i* ^7 f }& r8 y/ x+ H; `' [
catch(e)
$ B. e3 t$ T v: {( n1 r9 B* L* g8 O" N {: Z4 ?' j3 d3 k. i/ ?' ~
if(debug)
7 J6 I0 M3 p$ p5 W B5 t; p# N# {! H {
# H& ?- W+ A! k3 ]: K alert(e.message);! f) \9 L# B f( D( b
}. M9 f& k: y# P- s& f- T- R) s8 \" ?
}% m. ~+ W2 \7 D
}
0 k; b2 M4 Z. I1 ] % J; y! O/ [! }- b3 P, H% V
}
7 @. S1 C1 V4 }, ^0 c8 j/ X
5 p+ A; G" H; P" j# G; Ifunction getRGB(colorString)
4 P% R7 t8 s% @" M8 Q' ^6 ~* \{
- S- a+ T1 E0 e: N! D2 v% v var RGB = new Array;" f+ c( ~ {+ L3 v. w z m. R
var tempSting=colorString.substring(4,colorString.length-1);8 X% x5 F# U+ }: p
var tempArray=tempSting.split(",");
1 N1 h+ D- S$ E0 B
. R# d& J& y3 | } RGB[0]=parseInt(tempArray[0]);& s ^7 g1 ]" y9 f+ F: L
RGB[1]=parseInt(tempArray[1]);
4 \- [6 |' Y: z; L- T, ` RGB[2]=parseInt(tempArray[2]);3 h2 l4 T, F8 d! z _! y
, \, K/ \: ]* S return RGB;5 Z' o4 V7 U$ r+ S+ V
}
1 G3 Q/ v# e) Z m7 Rfunction keys(evt)
* ^; `/ |. D1 C* \; `/ I {
: I3 ^4 b1 A* `! v! W. x) x1 t6 b if(evt.ctrlKey && evt.keyCode=="81")
5 }& A% d( @! F) l5 B- i { & w% e0 S9 r- m! Y4 b- d
CleanHideObj.on(0,1);# S, P, D3 y( X) m3 n6 e& m* a
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 5 J+ K2 H; P6 Q3 g5 ?) L. k$ h
8 W0 }2 |7 w* G. I, w; `3 | }
/ Q) Z2 t' D) P: V) x# w# \ } 0 C& ~$ E. L+ C. y% r$ \
document.addEventListener('keydown', keys, false); , H0 b7 I7 l" i( K& C: X3 B. ?# L
GM_registerMenuCommand ('Clean Hide',- E$ x; F# Y+ p* R4 q4 k
function(e){; {, ~& C0 I) r, ]3 F {7 q) g
CleanHideObj.on(0,1)9 r3 x$ V* r) R% g, T* G+ {/ _
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
4 E7 a% F. @- a5 V/ `& }2 V});
" ~5 u, s: U0 Z& e% x( E |
评分
-
查看全部评分
|