|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 * g5 g# x0 g, t' b5 k% I
7 r8 e" n, Y6 Z
火狐插件,用猴子8 P1 d7 y+ j8 p! p9 {
4 o% \$ @( g' W# u6 @$ ]6 M8 zvar debug=false; + I7 p, m# r. v4 C0 _: N
var CleanHideObj=new CleanHideClass();: q, @/ I2 e1 D' |+ y# k
. o5 O/ o3 u+ V% d8 Y. E# s/ qfunction CleanHideClass()
! R% R V3 B! v! b: ^4 ?( \3 I{
. \, G9 X; {; |
* q) N- s+ R1 g2 C7 b this.on=function(id,bMZ)
8 z. N1 _! }3 J7 l$ Q+ u {
: u, q+ M. }% Q% Q6 P 2 d9 K1 I8 k/ a% O6 q# |( |
if(id == 0)
5 X7 L6 n! D- A3 T {1 e! e5 C! o( E& o
var page=/* document.getElementById("content").contentDocument */document;
) n; B0 `; n3 s" u/ O$ H+ ^! B this.RemoveHide(page,"span");
: o, P, s% O1 {6 R+ m2 ~3 ] this.RemoveHide(page,"font");
J: W5 h8 u( h0 X6 N, k this.RemoveHide(page,"div");
! m5 h" w/ z3 @7 a2 e% a1 ? this.RemoveHide(page,"p");( _! u' [( {! a. p
2 ?- o8 N" e* Z8 H* [' h }8 ~. @: E; P$ y4 Z5 f
+ B& Q% { K5 L0 V3 C) D1 a1 l
}
/ J ?, G( r1 G) o this.getobjstyle=function(node,prop)2 d" I+ ]6 Q& O$ X+ t
{: x I# i9 d, x) @9 H6 \- u, F9 ]) F
try2 D* f @& I; g6 d% S
{1 F2 N$ l) g5 D
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);/ X. q6 ^, n! [
}1 X! x9 s, _! z. q" D- B- Q! O: f- g- ^
catch(e)- h. p) S# i. l& a1 J4 M7 q
{. P8 R" ?1 z# e. K. Y. P3 x0 J
if(debug)
& a6 a d P7 j3 @$ z {* a/ V9 Y, B* [- [+ Y
alert(e.message);' E& C" ^+ ~: l% _' k. P
}6 D% n) Y L0 n b
" y' O( Y, T) k! k0 r+ A' R: |
return "200";
6 @1 z+ V% ^* x7 I4 n$ @ O( e }) M6 w+ u# ~2 x
}
2 e1 ~( t( K/ \* Z; S1 d2 F) s8 p
g$ g. {" F0 \. W# | this.RemoveHide=function(page,objname)
! U' X" W F. s$ O! J9 h" o {
6 G. p& q" x7 x0 a' _ try
, H) ^ X) @9 f" @9 K {
, v6 X: N. N) F+ W u var minValue=15;" g, X7 u$ J# w$ C# {
var objs=page.getElementsByTagName(objname); F+ p- u0 C* N! B
; k! T: U4 N* R8 O% { if(objs.length == 0) * g0 n: O# ?; V R# p) w
{2 J' W5 S, D" ~# H! U- l) x
if(debug)7 m, h! D# t1 H, G6 _
{# k. G" b! A3 o8 W0 E/ v5 {
alert("no object found!:"+objname);; g4 _! O/ P- _6 X! i
}( X+ n; q, X4 Z( H+ B M% k3 t
}
- E! i" n5 f6 D else8 h- m' p) }0 X* a8 T
{
$ z2 S: \! S, I; L 7 o# b4 b8 G# z9 e" Y4 l* u: h
for(var i=objs.length-1;i>=0;i--)
( H8 t- s6 u1 E! z& u {
" K/ B% k* E v. `6 P" l* r% ~ var node=objs.item(i); # l0 g. U0 l1 N6 U! j
1 R: y" O8 _2 _) g( N
. N; @3 R" T# X, ^
if(this.getobjstyle(node,"display") == "none" ||
( C6 _6 |/ x* }9 p, y+ | this.getobjstyle(node,"visibility") =="hidden" ||
! Q" g8 f% b) g parseInt(this.getobjstyle(node,"font-size")) == 0)
2 K$ P; ]- k% K- b2 S, z {' t n+ {' g2 e5 g- }' D. K
if(debug)7 v- W8 m% c0 K7 e
{
. e: Q4 L0 @+ C' m: { alert("remove invisiable!");
+ q7 \1 ^& c& K4 A7 N3 e/ }1 d } V7 G9 g5 F, o7 M/ |4 O0 M
node.parentNode.removeChild(node);& t0 s3 e4 I2 v: S; \3 H
2 v$ m: P# k# q" w+ e
}3 j$ W6 ]* F# t4 L4 B* ~
else % `3 x4 T2 s' a3 U( U: m1 \* o9 o
{
. B. U# ]4 Z8 b8 I i/ E7 X* ]9 U8 m if(node.parentNode) * |' o& y% R8 R! N
{
, d. ?* C/ H: }( ^/ ]+ u var orgNode=node;: Q4 u/ r; z+ A6 X" j" E: }
var orgColor=this.getobjstyle(orgNode,"color")
. U* ]9 t! n( H var orgRGB=getRGB(orgColor);
p/ _. [* \+ Q6 \( m+ k j 9 e; _% u& d( n
var parentNode=node.parentNode
: I) L9 O! Q. Z+ A var parentBgColor=this.getobjstyle(parentNode,"background-color");
# d6 m9 B% {4 \8 |5 ^1 L 6 [* f4 e l6 v3 J0 B( ?
var isLast=false;3 [4 q# H; s* A$ ^
1 ~0 Z7 I9 ], u2 v( I7 i while(parentBgColor == "transparent") 4 r7 w8 b1 y( k; O; ?
{
( \, l8 _+ x+ {8 u8 d, P; a
8 T+ }9 Q/ c1 g5 j! J, b# ~6 ] 5 {. G. y0 m: ?: T
if(parentNode.parentNode == null)
6 W' O1 C. H* B {$ \3 _* N% e: y: p2 k. g( c/ K
isLast=true;( ?6 ~5 R: d( ^6 ?6 ^' B
break;! o3 u F5 s. Z2 x: ~
}& i: m) b+ x- s5 F# b; l- ~
parentNode=parentNode.parentNode;4 w1 \4 m! i* g$ K8 ^! [
parentBgColor=this.getobjstyle(parentNode,"background-color");; u9 V1 r" C& H, A4 u
# e4 j$ j( P4 _$ g; D
if(parentBgColor != "transparent")
& P5 z$ Q0 I& X$ m {
+ q8 Y8 c. h3 V break;, H$ k! y! X6 c% i. B& i8 N
}: n1 B0 K l/ N& i8 J9 R& U( f2 \* t
}+ \; J4 @, c0 [3 | G3 \( `" ^
if(isLast) 0 X0 P \# R9 V# l. N1 `
{$ v: O6 J9 H+ c1 s0 O% \& p
if(debug)
* `' J/ A$ ?5 @5 G* j& J, R {5 ^& r7 u3 L( M* m0 Y/ X' h' y
alert("last!!");
! h" r6 t! r+ K# h8 u3 b p }: h1 r/ L- n v; q- Y5 M" u
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))4 Q3 h/ L. }7 |0 W3 u
{
- d; P% q; ~+ z3 i orgNode.parentNode.removeChild(orgNode);
1 p9 ^0 Z7 y# g( v' i9 x0 o }/ l/ T. a; c/ Q& L1 `
}- x3 Y0 _$ ^7 i# Q" E
else
# F! [2 U0 p$ R& q {
. Y% _/ Q5 v5 M; _5 ?/ e if(debug); G2 ]9 A& \$ k
{
( \1 c- T# J# d1 c5 |: E alert("compare color and parent bgcolor!");# c5 m, K6 c- I9 D) v
}$ D2 s1 x+ ?6 j/ a# b6 n. G
parentBgRGB=getRGB(parentBgColor);
4 a" Q$ j0 D, L- X( W$ F1 {+ r if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
8 ^ x h+ K! E' e( I {9 h, {$ _+ n' B$ n3 G5 z
orgNode.parentNode.removeChild(orgNode);
6 [- K# G" y) W% p; I! N* T: b; U; q% U }
9 _. J! x$ k' c$ N: { }
+ v4 E. w5 p. n4 w! I8 R }9 O+ G {( y: {4 H& O. g& ^& W" M
}% ?9 X* [2 t# e6 ?7 c: E! Z1 \: [% ~
}
# c- T2 D2 D: r }
8 \: k1 \! c! {8 \& a% u " ]" {. m" c+ ~0 M/ c; X' M+ \) k& Y
* H$ E, s3 [: J$ ~' Q) J var itemFrames = page.getElementsByTagName("frame");
& R1 i3 x9 }" l( P2 a var itemiFrames = page.getElementsByTagName("iframe");
. Z: ]' Y: ?. _% U; }
# Y0 U8 n: _, Y( y8 j var frame, iframe;) I5 C0 k7 b+ {) ?" \+ e5 b
if (itemFrames.length > 0)
3 |$ |/ D4 _# _, X( @ {
9 r" X! O: H3 b; } for (var i = 0 ; i< itemFrames.length ; i++)
; A! ~* x/ c! Q- A$ e {6 Z% d: k7 V+ @% ]' g( h& ^: L, q
frame = itemFrames.contentDocument;% L( L4 y- \5 I2 t0 l c" Y; ]; U$ h. U
this.RemoveHide(frame,objname);
, l5 S5 M7 o9 y! `$ c }
3 ~1 U5 M' g0 f/ \ }
" J$ W" M3 r Z" _2 T6 x if (itemiFrames.length > 0)2 P! R% L' C& o6 j6 E
{
- H g+ x$ ~ H1 D# { n4 i7 B for (var i = 0 ; i < itemiFrames.length ; i++)
5 i; `8 O+ X3 V4 ]+ Z; H1 E* t: ? {( v4 l1 Z' I# e' B. [
iframe = itemiFrames.contentDocument;- H) X2 F0 r! w
this.RemoveHide(iframe,objname);
0 W. K; @7 t) X" ^0 W& Q }
: s; {6 s2 w2 c }4 @" I, u6 p9 E/ W& ?4 h8 M
}" V6 b6 R4 u- t Z
catch(e)
' t5 F8 Q: U$ Q$ ?" ~ {
' P& a1 S/ u. t. ~* f; N7 p4 E# D& K if(debug) T' L" X4 v( d( L/ V+ k
{
* {$ y4 l0 g3 e( }" u/ [ alert(e.message);0 A f9 q" r$ U i% b
}9 |1 H+ a( F7 Q' n
}
( o) @7 e& c- v4 ]! n6 O, @1 t+ ` }6 l& J, ]+ S% s% w1 C6 I
: w' n6 s1 D/ S9 j/ L5 P* f}6 E E1 | ?' H2 P U
7 S! C1 Z3 I- i6 \% z9 j2 Sfunction getRGB(colorString)
& J) e0 j1 R& x. S0 ?, a: c{) F4 ^5 h$ }! K1 ~
var RGB = new Array; B/ q; ^2 w" \8 }4 K
var tempSting=colorString.substring(4,colorString.length-1);: k: X4 C' \7 x5 g, ]
var tempArray=tempSting.split(",");
! M6 D7 y/ i. r4 j3 b5 R5 f( N! Y; I$ d6 r4 F! v
RGB[0]=parseInt(tempArray[0]);+ n7 Q: G) l5 l& K2 `& Q
RGB[1]=parseInt(tempArray[1]);; \* B6 Y2 n, z( r2 S) ^# \
RGB[2]=parseInt(tempArray[2]);$ T- \0 z6 ?# L0 r: Q
# }7 X( S: c2 |& g0 r
return RGB;
) Y# @5 p6 H2 a$ ?! K}
0 @; s( h; X& @+ m& Zfunction keys(evt) * ^1 Q" o' a/ x6 D( ]0 M4 v, G
{ # y% |0 q7 N" j1 w0 O
if(evt.ctrlKey && evt.keyCode=="81")
/ ?( r* p" T( f! ]2 ]* u: P; u {
+ e6 [) K- s' ?6 y CleanHideObj.on(0,1);9 @1 }4 {, B6 g: r- p3 D
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); & K0 u* N( p, A
# e$ x4 v5 m1 z0 D7 J7 ^# y
}
; C$ i' G4 Y; j* r( X4 s } ' T9 T5 D+ R: b& A. i: b9 M
document.addEventListener('keydown', keys, false); - B T! ~, \3 ]% `# R! r
GM_registerMenuCommand ('Clean Hide',3 q0 P C3 t) v @) g
function(e){7 z# w- p" E+ O. V& Q6 u N
CleanHideObj.on(0,1)1 P. Z: E! Y4 _5 h
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");1 r0 h, z( k( k" r" F! b- c- n0 f `
});
* @' H. E+ F% E) N1 V3 } |
评分
-
查看全部评分
|