|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 - m1 C* p; t3 ^6 _0 o$ W$ M
. A! g8 g2 q" q) f( x- M2 M$ Y+ `
火狐插件,用猴子# L. d r5 z* @0 Z6 Q6 |$ n/ ?
7 `# v* i+ ?: a- g+ Z
var debug=false; ; `3 x! W. Z8 Y; o8 k
var CleanHideObj=new CleanHideClass();
9 n! E7 T1 r3 F( @& P( m
! k' F+ I; U s u7 f) Qfunction CleanHideClass() ( d3 q4 d: v) t/ N% M/ r
{ + ? Q' p! ]- a9 k/ k* s$ A
4 B5 T+ Y( `6 ~" P" h
this.on=function(id,bMZ)1 j. L g$ T7 O
{
- P# {* I" \, s' r: `* ]/ i
. w3 ?# e. j, @* @5 n if(id == 0)% X2 i) ] h/ B" B% Z
{
: _% J$ a5 E' n, D0 P* E! l; d var page=/* document.getElementById("content").contentDocument */document; ( r4 y9 A* V: b
this.RemoveHide(page,"span");
' C0 y b' s7 G T3 L0 T this.RemoveHide(page,"font");. ~; T5 J0 ~% ^
this.RemoveHide(page,"div");
* R% j7 W, w* a; W this.RemoveHide(page,"p");
5 L4 [+ A* N, S$ h/ }! |7 w ' T0 s% m1 ~; ]: G9 H, a% g% ~
}
! S2 f" C* i1 ]% |4 W
, v1 O- v6 G7 S9 Q5 ] }7 o- n4 {: j& V" @
this.getobjstyle=function(node,prop)0 ]+ C+ W$ ^, v2 a. l* N1 n
{4 Q* c, A4 R: f
try) p3 o6 a" a4 \5 P1 N0 e: ?, s) T. p
{9 l z9 }5 I" z
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);* h. B$ D6 b9 Y1 }9 e. `
}
+ [( I: ]% W) O) h- R$ a, n% X catch(e)
+ u! x& z2 {, x+ Y {: a% a3 E$ f6 O* K
if(debug)4 q8 @; U( N8 }8 y$ [
{7 E5 m2 q! R, p, N
alert(e.message);
% V$ h! b. K" L }5 ], z, J% v& F, _ z! d* Q( r
& L1 q, m# j* q1 n; t* I
return "200";1 `. f m0 @# n
}
0 Y8 r/ W0 C) k }
; ^8 B1 c) o( t( {0 `1 D! \ % H$ d8 `2 ^& T8 e% N8 i5 T9 M( z) ?3 @
this.RemoveHide=function(page,objname)) F. o/ E8 E$ I, J0 [3 z3 P! H, \7 ^
{
0 o; C/ V( L y Y0 w/ P try2 ^( I5 n: u* ^9 F3 P9 y4 T; l
{
9 ? n w4 n* }% V9 g var minValue=15;7 H3 {! t7 p% P2 A
var objs=page.getElementsByTagName(objname); P- r6 a, E- ?
' c, S2 m. X8 W- _9 Y, q if(objs.length == 0)
1 R8 i J1 w; L" K {. w/ Y1 M" M5 m: u9 o
if(debug); F# M, ?6 M7 H$ N
{
7 p* I, l6 Z0 w0 Y4 l2 x alert("no object found!:"+objname);
3 R( I6 J/ G& t2 {4 x0 t }
+ G" \. `1 e0 `& y& F! z0 \5 [, }. H }
( K+ y6 h7 y7 F else3 O; a& ]4 k [/ H4 s( i
{8 M- _) Z2 X7 W6 j. f
. `; e/ _1 S8 f for(var i=objs.length-1;i>=0;i--) ' Q& ^1 J. Z$ x0 v, R0 Z0 s1 m
{
3 F+ ?" @& U- T# k0 b9 l" K7 [ var node=objs.item(i); 5 i9 {( C s0 `9 |" U2 J
( L1 [) R. v2 O" x0 n6 g% t
9 [+ J- I' v, g: E/ X5 r
if(this.getobjstyle(node,"display") == "none" ||
: N, {) W3 e, a |1 T$ x this.getobjstyle(node,"visibility") =="hidden" ||1 G# P/ N8 `0 K# v
parseInt(this.getobjstyle(node,"font-size")) == 0)
. e5 B* W& o# n6 ~2 V {
, K! { k* U5 K( b7 P. ?, B/ J if(debug)
, A( m( G' v) o( r) {% j {* @) K! ~9 _, z; U. w# ^" k6 {
alert("remove invisiable!");
: C4 v7 L( ~/ ]! d% i8 b }; ~: M3 L3 H0 }6 {; m& a! M8 I+ E
node.parentNode.removeChild(node);$ r8 T+ R1 _+ q
G& m/ ]; X- h) `6 n }
# h) n- c! j( k4 v7 g: q) a2 Q else
8 |* M; F; o: H, R! B8 c6 f& |" H' j {
8 M7 N6 v2 C2 A2 k E6 J if(node.parentNode) 3 s* c9 y$ g( d( x9 Y
{
5 H3 [ o7 t( l- K) f. p3 n2 R* F var orgNode=node;' ]' B+ v8 b% U- P$ Y$ m! @
var orgColor=this.getobjstyle(orgNode,"color")
- j: T. }0 m. p9 F4 ? var orgRGB=getRGB(orgColor);
, W. x5 P! ~# ?" a$ `; z* }. y 5 i6 [: }; z4 E# o1 L7 k& n
var parentNode=node.parentNode
' r: s/ M; [4 a! { n var parentBgColor=this.getobjstyle(parentNode,"background-color");
! B8 @+ Z" V) ]3 o4 n! f. O
8 w: A* B- I# o) S; [ var isLast=false;/ w k, `. H3 [3 p/ c
8 ]/ w+ g( P# J" \1 g6 {' ? while(parentBgColor == "transparent") 3 @+ x! s" T6 m2 p6 M* Z
{
$ h- j4 L+ G3 t1 l w , X$ S+ Z' `& @- m/ x- x' T
. r( z( |) u7 P7 t# X' G, F
if(parentNode.parentNode == null)
" O5 Z/ W4 ]( b5 o2 P/ a {% ]+ I! X2 O! Q3 T! r! H# s# |
isLast=true;1 f8 y4 i" Y" I% X* ]4 Q
break;
' d3 @9 L, x6 k; ^% x0 @ }: E' v9 q* U% M6 x+ V6 i
parentNode=parentNode.parentNode;
. p8 O! T/ N: B" ?7 m# G parentBgColor=this.getobjstyle(parentNode,"background-color");5 O' T$ J$ ^% U
5 x/ a$ L3 L3 _6 \3 }6 V if(parentBgColor != "transparent") 8 I l* {% t( o! ^: J$ u5 |0 S! g
{
7 @- U3 b- R' N6 k' I* J: B break;
! }8 O+ E5 D8 h" j }
) w- c. @# o$ e" R }7 w2 `9 N3 F# }8 }
if(isLast) 4 l8 P; C3 A) @1 Z
{
, D& l2 Y' F; q5 `$ J9 c if(debug) R. |0 s, }6 G( u1 |* D9 |( j
{# n4 Q; S/ Q5 H" o% O
alert("last!!");" y, j7 U2 E2 u3 l0 q. d! D
}4 {2 U& q0 w9 k" E9 C' s
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
' j6 a/ P# H7 l7 @) p$ L {
! c0 F. P; G0 [6 g) Q& i4 ^$ X orgNode.parentNode.removeChild(orgNode);
% N) d- U1 v$ X; j* R }4 q* X. W$ k$ i5 M% {
}
$ R6 V0 b. n7 J3 k+ d7 w4 d( H else+ e0 c# T8 _1 p. m3 j4 Q) B
{
) x' P* }+ ^( |/ z W7 K5 ^ if(debug)& k' |9 V% V6 j! @) g
{- }$ Q6 C% @; H+ G) Z
alert("compare color and parent bgcolor!");" g) \( Y3 W$ ~4 @) X5 b
}6 b! Q% ~4 Y0 i/ j
parentBgRGB=getRGB(parentBgColor);
6 Z: [0 C, Q8 K/ h( A if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))& X y% P/ x. K4 [: Z
{
- G) _6 P7 g) j0 J9 @: }6 _ orgNode.parentNode.removeChild(orgNode); ( s; D4 h% F$ p
}! I! V2 g* Y3 H1 h
}4 J( L, Q4 S5 h# x9 V2 q7 M
}
; a1 ?+ x. ?. R2 b1 V1 Q }1 ?# _% B. K1 c- [
}' z' f9 y6 T8 Q! p) T8 \
}
' T, N2 M3 k$ |. f* o
9 n8 x3 C* `! \% F6 r 6 x2 u" ]3 ~# F4 \# n
var itemFrames = page.getElementsByTagName("frame");
6 S5 h) v/ A0 u: H: {0 u2 e! u var itemiFrames = page.getElementsByTagName("iframe");; y0 A4 n. F. P, r
% v0 O0 j0 l& X- _3 }
var frame, iframe;7 }' f0 m5 f! A, b( j
if (itemFrames.length > 0)
; ^5 r8 J" Z% x. A" e k2 _ {
% P$ z) s$ B+ @* H7 Y for (var i = 0 ; i< itemFrames.length ; i++) 8 X/ }' B2 F5 R8 _6 J/ j
{
- I7 N. ^ }8 @0 v frame = itemFrames.contentDocument;
; @8 v/ { p$ d5 s, p+ n- R this.RemoveHide(frame,objname); 0 S! G! O& |! J1 j" V5 S
}! y+ G( I3 B* M
}
4 {, O" u! @! O; s if (itemiFrames.length > 0); ^: q4 o+ n# c5 q1 j7 ~; h
{& r. u9 Q' Z$ ^( ]5 p; |+ f& J
for (var i = 0 ; i < itemiFrames.length ; i++)
% p# l: D. R' N {4 b. ^% S8 ?" J2 P* X
iframe = itemiFrames.contentDocument; u y% D$ @+ t8 n0 J {0 H/ N
this.RemoveHide(iframe,objname); & C1 Z3 I t4 s& d6 Z. q0 G
}
8 A! P% {3 A3 M" }" V. V }
3 V! Q# n# ?+ p' r }3 k \0 X2 N3 t: I' g y
catch(e)
6 o% h8 Q W0 i* ]" ]2 L e. }' E {% E& g8 [+ n8 [) H5 |+ _2 }
if(debug)
0 y6 R+ ]) T+ P$ Q {) h2 |1 H' p/ H/ [0 p4 m, S9 ?
alert(e.message);
2 Z$ M0 e, u2 `: I( Y' y8 Y& U }
% e: S! U" `5 S0 \3 Q }3 \1 M3 G6 r# i5 A6 ]7 P3 w% o
}/ l/ l) K' ~ l1 A/ Z2 {) H
+ Q3 h: x2 _6 H2 O1 w
}
4 O* X5 O( _5 R0 v; n) o; c, E! K2 o) m0 L$ [
function getRGB(colorString)5 K9 a9 K- y& d& v
{8 ^. t" _. ^; A7 x1 i/ u
var RGB = new Array;5 s i7 s: Q# j% C
var tempSting=colorString.substring(4,colorString.length-1);
8 s. A6 v6 E8 g& I var tempArray=tempSting.split(",");
9 x) z0 X/ u' h3 y5 j4 g$ j
1 b2 r+ ]6 h! b) f- J RGB[0]=parseInt(tempArray[0]);$ ?$ b0 `( `; U8 k0 a& o' W. S
RGB[1]=parseInt(tempArray[1]);
: }0 D5 |4 G c9 F3 a RGB[2]=parseInt(tempArray[2]);
- ?% A1 \0 q1 i% w; P
2 a9 w* `- i% Y8 W& k+ Y+ J return RGB;
Q$ w8 u4 t; f}' I) R: h2 I9 H: D/ U
function keys(evt)
; U( p! o8 Y, p/ C# F7 ^ {
: I/ F# `# Y; S. ? if(evt.ctrlKey && evt.keyCode=="81") 0 Y3 U. k) b$ G, h
{ ( O1 U/ O: N# E8 P) W ?
CleanHideObj.on(0,1);* }2 A0 \( Q5 _
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 9 u3 i2 Z+ m" F0 k& H2 Z: Q0 h
7 Q: j4 l. ]5 E$ ~5 c; J1 r } / V8 D+ I6 I( E" a! @
} 8 h) V5 F+ h X8 Z- ]
document.addEventListener('keydown', keys, false); " a. B7 Z% E9 S7 v7 h. p0 ~
GM_registerMenuCommand ('Clean Hide',
( \9 Y/ |) f3 [: ^. }1 U j; lfunction(e){& O$ k6 X& {/ u" q
CleanHideObj.on(0,1)
4 }. I; K: |* z8 ]! calert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
' d$ ^* U x/ Y});
7 W. [# M8 j( C- R( o6 t |
评分
-
查看全部评分
|