|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 + T8 K7 y" a( T) W; b f5 g
& x9 J N2 _# V# t6 Q火狐插件,用猴子1 C) w0 j+ z3 D1 O: s& r: Y
% o' [# Q# l& P1 B
var debug=false;
3 u8 \" R' z* d0 X/ z! B" b! ivar CleanHideObj=new CleanHideClass();7 k6 }& e( z# e# w& i
. W2 I/ V8 X6 ^! L
function CleanHideClass()
, L# i8 P2 N3 {4 [{ 9 ` Q" O+ f; m4 P) v# @& D( g
& A2 G8 O6 _- S" t7 y/ ^
this.on=function(id,bMZ)4 N$ c( [$ t& l, D8 N- ?5 L4 J7 m
{, X) X1 G" J- H
# W2 T9 g* r3 h
if(id == 0)# q# {+ p8 h7 C# X5 a# @+ G* }5 O
{
) L4 }! [7 p y4 M var page=/* document.getElementById("content").contentDocument */document;
+ m$ M% }1 j$ h* E1 h. \" S3 z' k this.RemoveHide(page,"span");7 K# U4 p% a/ p, H5 w, [0 ?0 k
this.RemoveHide(page,"font");
3 z% b1 Q' a( V" { this.RemoveHide(page,"div");
0 A1 D& S# x$ u this.RemoveHide(page,"p");
4 z8 p# H" o7 { / C5 k0 J! l. X9 c. X
}
" F- ? a# X) f) R8 S0 n3 w
* J- y4 V) _. M7 c* P% `' [6 @ T }+ I d4 B; g9 O* M$ ]& K. P* Z* ^
this.getobjstyle=function(node,prop)
& A% B' U1 e" a( t% T { j6 W4 S4 D) R, ?( z [5 K4 y
try+ u8 J; E1 ]6 G+ p% X
{
+ m' o! U) G7 t! q return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);0 f% G, ?3 c* }" u
}
' }4 }( M/ a; I! Y4 C4 B. ?: L, t catch(e)! ?8 V7 c) h# m+ _5 e/ b9 Q- M
{
& O8 E7 K8 ]2 V if(debug)7 m5 B' |2 K) e( D. Z3 a- }0 u
{: r9 N4 f8 D2 A% Z5 _
alert(e.message);
0 N! u0 N2 b# i+ R! P! [- x$ b }
: v4 R7 O0 L( W5 r0 s+ X" f5 J 9 Y9 ]# ^ N# T3 I3 e8 J$ w3 K
return "200";1 ^8 C4 n3 m3 I3 H1 e2 e' Q! ?
}
" x& K) I1 ^3 K+ v: e }8 A5 R* @; V. B! K
N- D* f z* `6 t7 k
this.RemoveHide=function(page,objname)
( k4 A- X$ Q- ^ {
8 P( l1 e! g% @" b- L( U* m2 g, x try
' U( w5 L* H& y% h& ^: n {
1 i' M$ ^& a0 B# v6 b9 o* ` var minValue=15;
+ m9 j2 b' |6 z' \/ _& T var objs=page.getElementsByTagName(objname);
- _$ F( `3 U1 e9 o* A0 v* A4 n& g/ I$ o2 V4 D' t
if(objs.length == 0)
( X, |4 H0 ~3 T6 @, G5 R {
; s* ]! R. M. J9 I( I; u! I if(debug)- P. O& s. \. N* w# U8 N1 j
{$ [4 p9 z& |3 l
alert("no object found!:"+objname);
- b3 z7 U( ^. H( H, c! O6 w }1 N+ B9 o }- j' ?; ?
}
! d4 ?% A4 N9 r( l, O, U else
3 a3 P9 R6 n2 O& g2 U/ p {: r' {4 \. b X
0 F+ M; b9 V( d0 Y( ~ for(var i=objs.length-1;i>=0;i--) / ?# E) h& p1 M1 R( W' Q
{1 E. G3 |* h$ s
var node=objs.item(i); 4 x! m( z* u8 g* v; L
/ J2 Z. ~5 s3 F9 s# A. g
N* X2 E, B; V2 W* ]1 y1 E5 @ if(this.getobjstyle(node,"display") == "none" ||( `3 h$ U* f9 U, f
this.getobjstyle(node,"visibility") =="hidden" ||
; E- g2 w) t& m5 q( S+ } parseInt(this.getobjstyle(node,"font-size")) == 0)
1 D" w& E/ Y& t7 C {
' q* r$ I9 e# K1 a, x" O; D c* f7 P if(debug)/ q1 v% q _! `- N9 x) t# M) O$ ?
{
8 s" B" c& P5 _& M1 n* b% D alert("remove invisiable!");
5 J d1 i) ?$ e% b1 ?4 o }
8 s) l/ `' _" E# W3 I node.parentNode.removeChild(node);
L- v! n+ h, {( E* y) i $ _0 w# ]- i: G' v
}) W8 Q7 z) x8 V; e$ l
else
$ E# o8 R" [" E8 [+ S7 n- U {
) I! _; t8 t, h4 p0 u! x* r# z: W if(node.parentNode) . G5 `3 J% S% A0 x' P
{
8 w4 m( W g7 v# o$ w% V+ o var orgNode=node;& ?/ o. y( K8 ^$ I# B
var orgColor=this.getobjstyle(orgNode,"color")
. G( Q+ L; F4 [/ x( X9 q$ ~+ ?! o U var orgRGB=getRGB(orgColor); $ N1 }( [9 A/ M- z& V b6 b0 W
) B& n- Y/ n; l* Q( L var parentNode=node.parentNode
7 u) h2 G! [- A: t var parentBgColor=this.getobjstyle(parentNode,"background-color");
4 u8 y& }% z0 D4 V
* X5 K" |. j- C1 s7 W- i4 @0 j1 I% o var isLast=false;
. r: F8 O" u5 Z3 L2 F9 g
$ m: P0 C8 X7 q% W4 n* [ while(parentBgColor == "transparent")
8 `7 b$ n6 ^( ]4 c; H* V {2 C" X+ M: ~- N+ n5 Z7 Y8 H7 m
9 o: f" y) L. u# }; q ~
m6 a9 C: I2 K ?% w if(parentNode.parentNode == null)6 B q( q0 q' @2 P- Y u. F1 s8 E
{
* Q4 U- G( _& ]! m! w! c& p isLast=true;
" T9 u, Y) r7 _6 A1 d2 u break;: f, i/ |' S8 y
}
2 r9 U l. b) }' ?" J parentNode=parentNode.parentNode;
& r4 N+ n. H& X# j# B }& e parentBgColor=this.getobjstyle(parentNode,"background-color");
1 e" ~7 H- W: S& L2 g- g" |
; e5 Y, \ Y% F5 o; X* T+ O% _ if(parentBgColor != "transparent")
1 C7 z6 y; {5 i" l A {
- @( o# w. F5 H/ |- X7 |% l break;
$ _1 m* Z$ Q" \) ]" X5 | }
& H$ \9 R L+ U/ S( ]+ J }
, X/ P* e/ P4 p6 u* `' }" G; U if(isLast)
B- A3 ~ N5 _ {3 p7 [# G. p! d
if(debug)! e# L% P) Q" }; s% I
{. R( J+ P# Z6 p# t4 Z) n
alert("last!!");
' ~% Y/ X4 G5 g; K }
8 R+ e8 y$ Z+ M if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
. r2 g* o1 d+ @6 s+ V {3 R u" d* ~; w; ]7 }5 l) ]* C
orgNode.parentNode.removeChild(orgNode); " Z2 E: B4 M. e9 S! y/ }
}# K2 }# l; e+ D5 p# Q
}
% }8 V$ S, x! |4 I& P& m else
/ j7 }) L) t- l' u$ t {3 e* m, u0 j9 U" J9 J6 O" s
if(debug), W' Y3 g0 P2 p% }) i0 m+ r* j
{2 D3 \9 s8 ?# h9 R) p* z* L
alert("compare color and parent bgcolor!");
; o2 V! y* G* e3 s7 U; X }. z4 S& o' d5 v8 `+ G! L6 L
parentBgRGB=getRGB(parentBgColor);" O1 u% ]' ?8 I% q: E& R$ a
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
9 c% d6 d+ y2 o# ? {0 v% H* O; u" \
orgNode.parentNode.removeChild(orgNode); ; D$ x7 Q0 h8 T) y' D' d5 e( v
}, ?2 i% n/ g+ b7 H7 V2 F p
}
5 u/ c; W* P. a" o* O+ p }
' {0 g3 J9 d' g' i# A: C/ \# S }+ @8 k6 x" J9 @# K _. g) M" F
}
" k& H' z2 ~) N2 F3 g" q* m }' ^$ d) \6 [6 q& g/ m7 [
& y; r- N7 m. e4 Y4 P7 U
4 A4 ?. W- W, f5 D9 J f1 F8 ~
var itemFrames = page.getElementsByTagName("frame");
: I& \7 B/ u! ~/ z, X0 p( A var itemiFrames = page.getElementsByTagName("iframe"); m; U: z s* G E0 X
( q# x) d* S/ Y
var frame, iframe;) W% N# V: Z$ s+ P3 Y9 w4 J( }- J
if (itemFrames.length > 0)1 i0 Q# E6 a9 ?- v0 H# A/ g# O
{: L2 F0 s; c9 b* M, s) a# o
for (var i = 0 ; i< itemFrames.length ; i++) 3 T7 _# @# u) z( I
{
- x0 X$ q& t" i7 Z1 c frame = itemFrames.contentDocument;
) i, t' s& c% s: i3 r2 H) e0 j' t this.RemoveHide(frame,objname); ) ?3 E( d6 }" _* O U- H5 }
}8 R1 x& A! _; {( u' {: D" N2 l
}
! _: \" y. y; [/ s' n9 e if (itemiFrames.length > 0)
+ S! x' D6 R2 c0 w6 U9 H0 q {9 c+ d" d, W @, z0 P9 C
for (var i = 0 ; i < itemiFrames.length ; i++)
9 i" C- k0 j* r9 O p) Y- D( l {
+ @ ?1 x7 y% [+ u9 c, o* b- V iframe = itemiFrames.contentDocument; O% W8 C5 e2 A6 p
this.RemoveHide(iframe,objname);
' t3 T! t8 Q& H3 \! x, \ }- }9 u* m; d1 [4 A* t8 K8 v9 j
}
1 J; h9 E3 P$ t8 Z# u }5 h- R9 U, y, Z( ~" h6 U, n% b- s
catch(e)
/ e# @1 \) H' d( M& h6 Y {
1 q; O [2 d+ \ if(debug)6 ]8 _ u/ w" X7 o. X! D2 {
{
! u; p) l6 Y* u0 O' i alert(e.message);
- t9 E9 |- L% r }8 e/ n0 o# v9 h; I8 K6 K
}
5 `/ A, f/ k2 e8 z# u8 b }3 p& b, ^( f& G7 s4 [
$ z. f+ f# J3 N% q1 o# `3 _& @8 W
}
! |+ S5 f+ ]) y7 _* b: c9 K' [8 D2 X* F. i! H
function getRGB(colorString)5 S7 L3 d+ D* ^/ F( d7 _# h
{
8 L# n' r* G$ C var RGB = new Array;
* E+ X9 d# A# o# D var tempSting=colorString.substring(4,colorString.length-1);! y# u) _& E! ]$ Q2 ^5 h
var tempArray=tempSting.split(",");
- S: e+ D4 P7 s% r6 m6 v. y" o
5 W+ Z- k8 U, O) O RGB[0]=parseInt(tempArray[0]);
4 d: W1 U4 u2 n1 B( \: q RGB[1]=parseInt(tempArray[1]);
8 L# f9 r, T. T! G0 `$ ?3 P RGB[2]=parseInt(tempArray[2]);2 O( k( J# g2 ^' I
4 w0 y: O4 I6 R! J# c% f# r return RGB;
2 A6 o. n) p$ L7 o}; b+ F1 u, x$ z3 p
function keys(evt) 0 O/ b9 A' Z# }, ]
{
# U5 t+ H, W# o) @6 Z' { if(evt.ctrlKey && evt.keyCode=="81")
& |+ N$ r, W) w! k) S+ Y* [. H6 P# X {
' y, s8 c- i- i5 i CleanHideObj.on(0,1);: h5 ?/ G. }6 a- T/ @9 N/ R* c
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); - e0 }/ h. R; C U \
" ]$ N& H! C. g7 B" R2 |8 G+ {9 ]" K
}
; R- C/ X4 v6 F. i1 o [ }
2 O% N5 s. a* E7 r( q( _document.addEventListener('keydown', keys, false); + ^+ D5 b% b" |' ]9 ^, X
GM_registerMenuCommand ('Clean Hide',
. G: L* ?( @) a3 Z3 ifunction(e){
0 r) L4 c* C/ m3 iCleanHideObj.on(0,1)* B! O6 m) ~5 x# b; @8 I
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
1 l* o/ d% K: k8 K});
% c2 Y& c+ G, S! w |
评分
-
查看全部评分
|