|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
: ?% i) t7 z$ @( h4 {6 L: S! m' l B) F9 E
火狐插件,用猴子$ y1 U' x, D* e
6 y9 @7 F1 E5 s- H1 z% ivar debug=false;
Y$ K) s9 O, p0 H) N7 `2 svar CleanHideObj=new CleanHideClass();+ }( n2 @" x3 B8 _" I! k7 ]5 C6 c! c
: {2 D& B5 ]% F% f2 h) Y, I" }: |function CleanHideClass()
) X w4 e1 J% N* D# N$ R' q{
4 R e- n7 B/ S% j. _! p7 y9 O2 z+ X 9 p Y2 ?. T5 @* r( ^0 t7 Y3 T
this.on=function(id,bMZ)
! h/ J5 ~% @4 g, ]/ X/ D {& M) V! @$ f. Y. |6 U. j
8 P# D) q6 r1 m- R2 @. i
if(id == 0)
6 T }$ G k) @% b6 ] {
6 D$ }6 O- t, I0 m$ u var page=/* document.getElementById("content").contentDocument */document;
* [# s+ k8 t- b this.RemoveHide(page,"span");9 }' y E9 J9 N9 o: i
this.RemoveHide(page,"font");
4 n* p8 H" Z( p4 i% K4 K this.RemoveHide(page,"div");
) T0 t* h4 ~: X1 c9 _$ V this.RemoveHide(page,"p");6 j/ h# Y, [) L
W5 P2 y6 ` @3 h$ }1 \ }, n; o* A3 p! ~0 W3 `% F! G
) r" K9 f v6 r( X& d4 [
}( [: e, w* R- T0 c7 v
this.getobjstyle=function(node,prop)
( I* _6 b0 S7 P; o- x {
, {. |0 B1 F9 C; U4 { try
: i5 B2 v7 m: T. ]! A8 y {# f* h% Y( n: E5 W
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
8 v7 P: C3 [( B5 S5 C% c# F* k }% O+ ?( r9 O- p! ]
catch(e)
" ` m9 Z9 A: r9 ]+ {# Y- x; O {6 M% P" t4 [6 s
if(debug); J: l% |4 e- M7 R7 n. x
{
; J0 x$ N" R2 p- Q& m- I+ b alert(e.message);
( P+ W% C7 g* F+ T! n2 M }
( K0 y2 l& g5 u# O5 f
) p" s1 |0 X2 Q return "200";
7 l/ y" Q( @4 Y& w! s; S T$ T }
1 `. c; ~! X) K4 W T3 A+ X6 } }" r; d% m! A2 A# n9 V7 G" M% h0 W
) D1 w# @" ?: A+ f$ d4 o
this.RemoveHide=function(page,objname)
% a' ]4 U+ v- B* E+ M& G {
5 k/ O. L5 q c7 b/ M try Z& Q8 g& D. F. l/ Y: J
{: |9 c% y, t9 h: [: ~9 q2 o9 S
var minValue=15;' K9 j2 r0 y; l
var objs=page.getElementsByTagName(objname);
0 G3 X; r$ h, O: _* L+ |3 e5 O o Y& O3 M- u% Z4 |
if(objs.length == 0)
8 m+ G7 o) S7 R. h2 c- y. ? {2 G9 w" E& D% J
if(debug)( r. L" P7 W. J
{
6 F4 |; c, k# o8 I, o2 L0 x alert("no object found!:"+objname);
$ B; `5 H) n; g8 W) ^8 J }! `( ]- P4 k0 L2 O% M8 |
}
/ K. O* [3 E. [7 ~0 h+ y) k else
4 r5 a2 _- f5 d0 q3 S' M! b {# v# o. ~/ Q/ J+ T! [
& _- _; l2 Q6 [
for(var i=objs.length-1;i>=0;i--) + }3 g. U1 ?8 x* Z8 R- A) N n
{
. [+ \/ Y6 R4 m+ o var node=objs.item(i); ' M* j6 S. b1 f/ D9 h+ P
3 H0 ~" {; k$ `: l
& G& I, I+ X/ l0 R if(this.getobjstyle(node,"display") == "none" ||
2 q, o: e3 S9 v& f% u& |4 p this.getobjstyle(node,"visibility") =="hidden" ||
% v9 b9 l! F' }+ X$ B parseInt(this.getobjstyle(node,"font-size")) == 0)
0 h5 e: `6 J- a" w+ Y/ Q {2 t0 H( W) e/ c. P- ]* i; A% R
if(debug) |6 o" |. H/ s' G
{1 S- ~' F, i0 F0 e* P! @ {- U ]
alert("remove invisiable!");
, K/ h" u9 M8 L$ C+ x7 N4 j }$ Y' J, y2 w) w# y" y
node.parentNode.removeChild(node);' e- [9 i5 ]5 v. N+ H' }
" W2 g$ k/ {4 u, ]( G7 a }
& {, Z0 |5 L* r3 w" x else 4 \8 z& Q- l: H, E( o( u& B; ?- N/ @
{5 l4 {/ S) M0 X7 _3 G+ L1 O
if(node.parentNode) / R" u( j0 j4 _6 h3 g5 ?' N$ s# A
{
0 F6 ?& n6 B) w- z0 } var orgNode=node;
' C5 p; {4 M" V var orgColor=this.getobjstyle(orgNode,"color")
% q5 [! V4 v+ R) }* u var orgRGB=getRGB(orgColor); k8 @% [) q% B" ^; ]
! V$ j8 e2 z2 ~3 O
var parentNode=node.parentNode
* N8 |" E6 R9 L9 e C% t var parentBgColor=this.getobjstyle(parentNode,"background-color");- _5 A) @1 S; H, d4 d1 V
) ?+ A' f' t) ~% `* O( w o7 J3 P* A var isLast=false;& ]" L8 t3 j" \: b: R: ~/ C
' P! j" N Y5 a, s' g* N while(parentBgColor == "transparent")
8 ]- y. M; R: O& d {# L J L3 A3 O6 E1 p5 D) K4 {. {
! F0 |' {4 {/ l- E! v: ^ ]/ O8 w( G6 D( l3 K
if(parentNode.parentNode == null)
3 K$ k+ I9 g( v. L" D/ L. c' W* e2 [ {
0 {4 h5 {1 s# f: n isLast=true;# ~6 A+ J6 x% t! n! x
break;6 r9 g4 p: N- J
}
' l4 K6 ], k) O( S parentNode=parentNode.parentNode;+ M( {6 z4 d" P6 H
parentBgColor=this.getobjstyle(parentNode,"background-color");
8 V% w% C T5 l& S
& T5 c% o5 G$ v, z8 x if(parentBgColor != "transparent") " R0 {, p# k6 E5 W: m. l
{
& @0 H& D1 T3 v7 \% m. @8 A break;
. L0 {5 o) ?3 W0 E$ O' L6 B }9 V8 {7 [# z- B9 r
}
3 Z* @- e( B( o S) W4 H. {% Z3 Z$ v if(isLast) 4 W- ~! s* f9 r: }! T1 n
{' g. t; T* D( h
if(debug): F; z8 e) `$ K7 Q9 S7 T, Z* O- a
{, c' e' L! _) T* C. S3 B n
alert("last!!");
# B4 D# e% E' _' X5 ]; N$ _ }
: T, r u/ T! H$ x8 H if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))4 @+ [! u3 y# A8 Y0 q
{
0 j i" ?- ^0 q7 O1 z- n* K3 m orgNode.parentNode.removeChild(orgNode); % X m7 D9 H6 S/ W
}
$ r- D$ E' o, o+ o& N) b8 w8 n }0 c3 V0 S& @6 o3 ^( K' Z
else
% R7 F4 E/ K: z0 V {
4 D7 n- c; S' f, E7 S- ]4 V$ L if(debug)
# Y5 b* \) C( h {) _/ q' Q( ?3 i7 Y; ^, S1 _0 y
alert("compare color and parent bgcolor!");
3 |" r5 g5 }$ s% ^6 Q9 E, V2 a }
6 U: z9 ~: m! U' F5 o" ] parentBgRGB=getRGB(parentBgColor);# `4 ~) C$ B3 U' S) E5 u
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))! Z7 J& R- P& j M. O( {4 d' \7 M
{- x' j- b& \% s; I7 v
orgNode.parentNode.removeChild(orgNode);
, \. s3 r* I" |6 Z, O }9 a& F; A$ I, T. S5 b% T- u
}, ?' [3 U- J$ e3 M- ^
}
4 L/ M; I1 ]9 }$ l2 Q }3 U- B4 g4 Y/ h& C* ] P: A
}) I7 T3 H, |- ?# s4 o$ X# y
}
3 E! H0 P' Z, J8 S" V- }, B ' `2 _9 q" v% z
$ L8 S' |8 X3 i var itemFrames = page.getElementsByTagName("frame");
" X R; y( q& X* e) b var itemiFrames = page.getElementsByTagName("iframe");
4 z3 H, z3 r% O! ~1 S4 Y J: w4 @
8 i5 V3 \, c2 Z: E- t var frame, iframe;# C( p. F1 O* e
if (itemFrames.length > 0)
9 e$ {$ g* M% @& t3 a {" C( u# `& u U2 I O9 ?
for (var i = 0 ; i< itemFrames.length ; i++)
* N+ ?( J1 y5 ^, O7 f { h! X0 g% ~1 z2 o
frame = itemFrames.contentDocument;8 x8 b% a% s. s- k
this.RemoveHide(frame,objname);
# N( }+ f ~, u2 Y }- _2 D: C7 N' n X0 P
}
4 `5 q, A; H$ j if (itemiFrames.length > 0)
% k& o# J" P. W4 F! a {8 O! |2 t% l* e! w
for (var i = 0 ; i < itemiFrames.length ; i++)
, o& e& `/ q7 d; e8 M9 z3 h; t! N {- d, \+ Z* Y7 V" k1 i! O' c. @
iframe = itemiFrames.contentDocument;
4 m `/ A' _' m/ ^* y9 Z this.RemoveHide(iframe,objname);
! _$ {% B! h; N. ? }
; ?1 C {$ H1 u h% O1 [ }3 P1 ^/ D1 ]4 g/ g3 d. l
}. v; f5 |# c3 ?# F
catch(e)
1 Y/ U J6 `6 ]6 `- O) c H5 [3 | {) K6 ~* r/ [% u, I# K) u% Q1 d
if(debug)" U0 f6 f) C: `3 E- {/ Z
{
8 V# k2 f( H* Q* K/ l+ z! w alert(e.message);
0 ]5 @$ z# A& }% W }
" {0 ^, A4 i4 H5 N4 p: e& p }
( P8 d+ k' h, R9 M" F+ f4 ~! s }/ w8 R- T; G; J2 A- `) ]- d
* l' r% a4 h: g+ o}
+ S' Y s$ j+ q2 n
2 F1 G( S# z0 S( A! P# Ffunction getRGB(colorString)
* G2 ?3 y" V4 v5 G4 z{& K3 [' G8 P+ A% v0 j ^8 J
var RGB = new Array;
8 {! D: d3 j' I+ Z$ ?* I var tempSting=colorString.substring(4,colorString.length-1);
: y$ b9 m$ ~) h1 s7 V/ W4 w+ c. ? var tempArray=tempSting.split(",");4 g% j- f' k4 y& q/ a% I
; P' I( c$ T* j, q RGB[0]=parseInt(tempArray[0]);
2 F& \6 W7 j( E RGB[1]=parseInt(tempArray[1]);; f/ C# O2 R+ @4 o6 F! I
RGB[2]=parseInt(tempArray[2]);
" ~" q, P) Z9 j( \. ^1 {
4 ?3 c C& Q. W; ?! o& t" O$ I return RGB;8 j" @/ @6 s/ S5 Z/ o
}
* E Y: c& c# c( P0 F6 Ifunction keys(evt)
: a) Q0 K, u7 e! @) C {
3 Z( d8 @/ g4 m- n if(evt.ctrlKey && evt.keyCode=="81")
* _8 x a# G; y7 x% X6 l { " U! e% T. l6 o+ o
CleanHideObj.on(0,1);# G# Q6 B* J% X& [, F5 U y
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
$ c" F8 Q) |# Z
1 u4 l( B; M: v }
+ L* [. }: d2 A H5 Q }
; p% q1 L8 z! zdocument.addEventListener('keydown', keys, false); + g3 ? [ m b# v- x ^ m
GM_registerMenuCommand ('Clean Hide',
8 {! v" f8 g9 qfunction(e){- h1 K2 {* c( }) y3 ~9 b
CleanHideObj.on(0,1)
) J/ w1 g, v3 o6 u: Ralert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
; x; Y9 R! [& J1 }/ k5 g, B});/ U4 g' X& l' r( _8 X- p
|
评分
-
查看全部评分
|