|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 " y1 H1 L2 p, I# s* ]- h8 M o+ g- Q. w5 G
0 d. j# O8 r7 Q J7 s3 G
火狐插件,用猴子
1 C V7 Q8 \: O) I0 ?4 M4 x9 R/ ^7 O- D4 }" x* j* k0 V
var debug=false;
+ E- I1 @: @" Mvar CleanHideObj=new CleanHideClass();
1 q. y/ x) x$ K6 j5 p' ~1 f# u6 ?/ q9 f' W( h$ `
function CleanHideClass()
/ p/ V) z+ @4 `{ & j5 o: [7 c3 x7 u* X3 v! p" r
0 f Q/ D: J5 t
this.on=function(id,bMZ)
# n5 \9 p! O4 T! o+ Y$ N& t! }( h {/ u+ G' P( h4 n& ~! L# u
G! `; ]" f3 z/ D/ I6 s3 A
if(id == 0)9 d9 @0 ~+ a2 x' d+ R8 k2 r
{1 L+ W# z, Q$ w- s" R
var page=/* document.getElementById("content").contentDocument */document; ]6 q& |( O) F2 H/ ]
this.RemoveHide(page,"span");
4 F- \5 g, P7 ?" n6 F this.RemoveHide(page,"font");6 q# m* I9 V" G' z. B: \: {5 Y
this.RemoveHide(page,"div");
& ^. K$ n' N% \+ H4 w( K4 u' X this.RemoveHide(page,"p");
; q4 G5 ?$ J: f: D+ j 7 }$ w+ o- i; r$ y
}, O- \& P: L4 y( s7 _7 \# |' f2 @
% p9 S6 }; E* }9 [1 {+ } }
# t$ R! w1 t; T* [9 \ this.getobjstyle=function(node,prop)
2 R; K/ R+ M* H9 Z0 L {2 x% s3 k7 @- J. b" k+ f; f
try
5 r5 c8 p( v! {# i5 e5 C {
/ O: @% \0 T/ {3 e return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);6 n4 |, c }, I+ K0 y( m! \' H7 n4 ?
}2 m9 y% Y! `" T! z7 G
catch(e)
+ }$ |# H+ L, s3 x3 h. F5 u- x, R {, v; v- D, W8 m) G
if(debug)
( \& h6 W+ L* G {2 e: h7 S8 z& m& H+ a
alert(e.message);6 G3 f4 k# E7 A0 |$ a: w$ I1 J% J
}
* u, T% c W" b/ Y9 z$ [! s , W5 C( X/ v( H& L8 K- U3 |
return "200";3 A1 d- U" g# y/ \6 L/ h+ y
}( G# B5 c6 p+ @/ N. D+ |
}" f3 c# t) h7 j; x2 B0 R1 R5 t
3 z$ `4 O; `, A* }, A
this.RemoveHide=function(page,objname)8 {1 ] r3 g4 P' H$ D/ J
{
) I) g/ q2 ?, x" |/ q& h1 K try
L D4 z n0 v5 R7 W {9 G* H9 x5 |& E# w) R
var minValue=15; t! o2 Q' R k4 M+ S
var objs=page.getElementsByTagName(objname); 5 o' M0 i& h- P( m" m$ o- ~
: D" Y7 q/ l: q/ r0 ?6 _) D
if(objs.length == 0) - l3 ? f: z% c- P c
{
! W- D, Q$ ?9 U4 D+ C8 I/ w0 A if(debug)3 ^* s8 t0 G$ W: t
{' U2 W. ?! V/ A4 C
alert("no object found!:"+objname);
5 { m: \) o: Z) N5 Q$ d( Y+ k }
: g" Q5 \9 g+ n7 }7 g }
7 D& Q6 b, v1 }" d; K& S else* @7 h$ V% Y0 m7 B" m
{3 b' x) V7 F: U$ i: O( R
7 I! h. q0 P3 k K9 q* m
for(var i=objs.length-1;i>=0;i--) 9 r, C% d' U9 Q" R! R8 F: n
{
- T: C4 i# h( S( K6 J G. ~ var node=objs.item(i); 9 T! g A' [- A1 b/ L E0 _* |
3 Z* t! z0 u- P% ]) X6 `
+ X) Z$ f, s# F7 a4 a- F7 E if(this.getobjstyle(node,"display") == "none" ||
8 s8 T2 R: P! X9 \- [, `1 G this.getobjstyle(node,"visibility") =="hidden" ||
" Y* s% H% D3 A5 d& \1 _ parseInt(this.getobjstyle(node,"font-size")) == 0)
$ {, q' A1 H9 }2 \ {
4 I$ u: d/ P9 T if(debug)
/ E3 f4 o3 [% U$ o' ? O {9 d* S' I0 Y) w6 H I7 `
alert("remove invisiable!");
: E/ a1 Y: t; o' W0 k! M3 i% d }; U: O. ^8 b f
node.parentNode.removeChild(node);2 p9 B- T$ l/ E. B K
2 J4 C0 g1 F1 z6 i
}
! S0 g, O+ P* I; C5 b9 w else
- o& X- S& t& U5 y" r4 H {! O+ O1 ]1 H% ~! g5 E& p
if(node.parentNode)
& g0 A/ b" h! m6 R {( x2 @) m) W& |% y, a& D
var orgNode=node;* A0 W& `1 _6 l/ Z' U
var orgColor=this.getobjstyle(orgNode,"color")* o; z* F1 H; N
var orgRGB=getRGB(orgColor);
$ Q) l, [0 Y2 ?- F4 m 2 g$ c* V3 X; T- a j) B
var parentNode=node.parentNode
! k# r1 M6 d i6 s9 M var parentBgColor=this.getobjstyle(parentNode,"background-color");
1 D; p8 A7 T0 M& C9 S
% C7 u k- ^4 H- o! d. f$ b var isLast=false;1 i6 {, r4 A3 ?$ V
. l' ]7 a6 R" J ~3 P- K( \2 B while(parentBgColor == "transparent") & \! i7 N: f1 ^* W& l% V
{
( I/ i3 m# J9 ~6 w) {8 r+ w 8 J# O# f$ U. M7 P3 ]4 }3 I) r% r
: ?% c7 v" v: E, u/ E9 G
if(parentNode.parentNode == null)5 @( Y. d" K. y+ a5 k U' b
{' S% N. |8 P! J4 J9 z( c
isLast=true;$ W6 R, X* X+ p( b/ L
break;
8 ^1 Q0 U0 M4 [ ~: W0 q }- c' K+ m/ b+ t7 g- x
parentNode=parentNode.parentNode;
6 E+ m" p- b. X, w parentBgColor=this.getobjstyle(parentNode,"background-color");( X0 `& `: ]# N. v0 q5 v
* l! W/ u, N+ q; O
if(parentBgColor != "transparent") 6 B! q. L" J$ T9 z' h7 U2 _2 z
{9 V2 V4 N4 H3 g: r7 G
break;+ V( } ]1 t! |
}
. F; ]# C1 g0 G% M: X4 [ }
7 G: ?/ |7 T# ]) f if(isLast)
/ J; c; y+ a, v5 Y/ n. j {
, v9 c; N. K8 ~: T3 d$ ^ if(debug)) t5 n% o I6 }9 m0 E; Y. L/ W
{
9 U4 |; t4 G, K2 v- P2 U# ?9 S1 x alert("last!!");* c1 Y( N* i% S) ~
}4 Z: c* P' G5 Z2 B: U; ]
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
$ c2 [& ]3 G- x( g8 y5 I {. n4 j' c! s& S3 |6 J; j3 P- G
orgNode.parentNode.removeChild(orgNode);
# b7 p; ~! c! N: I& l6 }2 [ }
# C2 a9 A7 G( q. ^; K. j7 R }' ?" T6 W( F7 c. V
else
: [6 [# g3 q) l% p# ]3 s: O8 ^$ F* ^ {
- ?0 H+ b1 T3 u! m4 d# \4 g if(debug), |: d3 P! n/ O1 C
{" N' C9 M/ ~" i- v x1 g; D
alert("compare color and parent bgcolor!");4 K6 f& m8 s7 t; T9 t1 _
}) j& q8 Y$ L2 ?9 H j
parentBgRGB=getRGB(parentBgColor);7 }$ k2 {1 Z' L G* F5 c( h+ [
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
9 G9 D, m _! J4 F& M: S {$ C, q2 f, y5 z
orgNode.parentNode.removeChild(orgNode);
+ _. Q0 U8 ]) }0 C& J }$ C* C6 o! F4 |: E/ ?: Q+ ~
}6 E3 n5 ^: O, {2 Y1 m$ l/ d& A
}
( ~9 T7 [1 x$ K U) V3 ]. P }- R9 \7 r) r' l* ~8 T
}
8 P$ p* [! N0 ~. k4 {/ L0 q2 F2 _ }; L0 @# W: N+ i8 u+ l! a3 |5 Q
; J8 ~* L( h6 W# [3 L
5 `6 S# C& {( c/ m var itemFrames = page.getElementsByTagName("frame");
( J0 Z$ j0 W: C6 T! v! P0 a3 p var itemiFrames = page.getElementsByTagName("iframe");
( k( e) b( s! Y/ H ! d5 ~- v; {. R
var frame, iframe;
/ \; U+ V& a! y if (itemFrames.length > 0): L! w9 l% X M7 q: P
{
4 Q M* x/ W% E/ K6 t& Y for (var i = 0 ; i< itemFrames.length ; i++)
( O, }$ p! F& e {
& R( k; h5 S) E frame = itemFrames.contentDocument;" h6 g3 a: U( w- [/ V3 m
this.RemoveHide(frame,objname);
5 w4 ^! K6 D. I( X" A5 A }
) H3 |: L. ~1 l3 C7 u8 V }; @) l% S. D. {1 k+ D# I) T
if (itemiFrames.length > 0)
, k$ [, \. y L6 K% h {
( L$ p; M5 E; F( _0 `* Y for (var i = 0 ; i < itemiFrames.length ; i++) ) i, z" H7 x+ `' b
{
1 ]# f, y# d' C- G iframe = itemiFrames.contentDocument;
/ A5 U; ?) h+ _0 V) i0 Q this.RemoveHide(iframe,objname); 9 b% n$ } t3 D [& \5 l% h- `
}% S& t. |+ K9 v" B+ D0 U2 N% {* q. ?
}& v* f, b* M0 _; R, M; \ R) M
}; m# x1 T, H1 |& Z6 Y5 q) |
catch(e)
, B3 D# m6 x) i- D$ ~ {
! M( N; C+ z6 w# o if(debug)/ l9 h, B- E$ r8 j; D7 A/ \; F- P9 W
{
4 l# T0 w( j. j& O alert(e.message);
$ |+ l* i1 g; v6 U9 z" {0 o0 ` }, C1 A0 N2 h! S: b2 {' ?
}
: J( t/ S" ]& ~0 V; u# B }
- I5 [& N5 D2 L6 R
& B- a9 z2 L: C# A I8 W" i}: |/ L) d/ |2 k; g% w0 N
1 q" I* {( U2 |. bfunction getRGB(colorString)
: m9 h% q* H1 |( K/ V{$ N1 P9 Z6 k7 O$ x
var RGB = new Array;# t- H: Y8 S/ @4 l6 M
var tempSting=colorString.substring(4,colorString.length-1);/ T. q% E; u# q. c
var tempArray=tempSting.split(",");
$ }5 m: M! U# ~! J" k& q* m
9 _, H% m+ P% c* n# }# u6 L; ] RGB[0]=parseInt(tempArray[0]);6 Q- e; l6 n- u" m
RGB[1]=parseInt(tempArray[1]);
6 o: s" R: ?2 C* T/ r$ X RGB[2]=parseInt(tempArray[2]);
' R% t& L0 ?& R4 x ` * w9 M+ u9 @2 w! T1 [ D: z4 A3 x
return RGB;8 j0 G; ]' p6 O! C! p: L- L4 ?
}
0 m* v/ B( S& x4 S: p% \function keys(evt) ( z* V) e: h' v' ]
{
7 A3 i- l% K7 U% D, F( G if(evt.ctrlKey && evt.keyCode=="81")
: ~% p; m5 c/ u% h {
$ J- G1 }4 d, t; m4 k CleanHideObj.on(0,1);" W9 I% C! ?+ ]( B
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ) D& O* a* M, y- u, a0 b+ ]
. P' T$ x- M3 Y. _/ | }
* D: \, `/ L4 R' x/ W7 h) N }
4 x3 k: q2 t7 {' sdocument.addEventListener('keydown', keys, false); : ?( x' c, k$ u2 S5 S
GM_registerMenuCommand ('Clean Hide',8 y* ]2 V+ w# d. u3 V; y
function(e){/ i1 Z6 N2 d& e. e. G) V8 J
CleanHideObj.on(0,1)
) L0 b3 u5 G; S" y% @3 Halert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
1 b, `# X9 j* ?3 A+ o});
$ @3 ]# f7 L; V+ m5 _8 }4 D |
评分
-
查看全部评分
|