|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 & T! @) h" x5 j: {& r
" f" o ^: E$ M$ Z1 O
火狐插件,用猴子( W" |: }# B4 M K. Y+ I
, v) a# @$ u9 q2 R1 R: s
var debug=false;
+ G& f T! C6 b' Y- Vvar CleanHideObj=new CleanHideClass();" R6 f( v4 B$ A& q3 p
4 @" o" a. Z& y7 M- R; }3 C1 ffunction CleanHideClass() 2 {% W6 o. H7 C$ Q3 o: n3 U2 U
{
) R0 N( B/ S6 }' a! J$ H+ a
- C( A2 d6 O+ z5 b1 r+ t this.on=function(id,bMZ)- Q' y2 j! M' ?
{0 D6 K) E; R8 J: w2 y- e
6 y1 N" Q8 ^0 P$ b) F% W7 h if(id == 0)
6 |* u9 r3 R" S/ d# G- U: _ {
9 ^3 d- ]( W/ i4 f$ ~5 t var page=/* document.getElementById("content").contentDocument */document;
9 m) V3 S2 O C [8 k this.RemoveHide(page,"span");" q$ I( B* R$ U3 @
this.RemoveHide(page,"font");
9 W# C7 I' D( k7 [. ?0 B3 w this.RemoveHide(page,"div");
1 T! v: x I) H" K7 O9 s r/ u+ v this.RemoveHide(page,"p");' @ C0 N. P: R$ y0 }2 |1 {, @5 m9 P; k$ V
9 V) s) G3 E" @. V3 M
}6 x2 i- y( i. j( }3 b1 {- o
0 q; m% ~1 {+ Q- C) x: C }
% o6 v1 {+ C3 w7 q this.getobjstyle=function(node,prop)
. O0 j- J( k0 Z9 ~! t& A8 T: A. x {$ D* D3 y; d O9 x
try
- \, }2 N( D" m& L {
x( c- w) q ]( X: K2 @ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);* z: d* p# [+ t' |, M
}3 w3 I. O' r. m# }4 y. a
catch(e)
2 p* g" ^$ R3 Y. C: B2 @ {
. ~/ O( e1 _3 v* v* p if(debug)
* I- ^5 s! Q( @( i {
0 e# g! h6 t9 F& B t3 I% E! y4 } alert(e.message);! t) s& j( s1 _5 j# |
}
- D$ i6 Y: W3 i' W- x' x$ k# p
+ c; B" U9 i% V% \4 w) \) q. H return "200";
; {9 @0 X. B' Z, o! g) c }
/ D, O; \, D8 `8 v) O }+ Q9 S' v; G1 |: d# A ], e( a
6 R7 V$ v5 I X this.RemoveHide=function(page,objname)
" r: u) b- Z7 Y {
; t# D6 u7 a$ w% c try1 u9 x/ d3 h7 R- K$ W3 s
{
; e& h" {5 D: x var minValue=15;
8 t4 W6 x* ?' \9 S' `/ ?! s var objs=page.getElementsByTagName(objname); ' r$ K3 e5 y- D5 c- q4 t7 G4 _& u. e
: y- O, Z: c: i if(objs.length == 0)
' x7 [# r! t/ V5 r$ s {
. i4 R) R+ j7 z* h if(debug)7 x6 m! B& A8 q9 |$ v
{0 j0 [; Z: H G5 a$ R7 s) k
alert("no object found!:"+objname);/ q. ~: p. n, x' E/ `/ `2 g Y
}
8 C3 [/ w2 Y) [3 I# S( r }1 `# l+ V, g, {' a
else1 p/ s; N, d7 i8 C: p1 n
{
: t2 `0 c# G2 J4 r( s% p 9 {6 N+ Y v9 J" S; u! \
for(var i=objs.length-1;i>=0;i--)
9 h$ x* n0 @; s# P( B4 C6 p. y {' v( `$ v0 v: A' n$ {1 q. T
var node=objs.item(i); " r, ?2 J" D9 H/ d
9 O7 V! O4 K1 @4 ?" g* P
# w/ a( z& T; j0 H
if(this.getobjstyle(node,"display") == "none" ||# }4 a" c' Q5 _
this.getobjstyle(node,"visibility") =="hidden" ||2 a) N* d9 Z& [7 c$ l( v, z
parseInt(this.getobjstyle(node,"font-size")) == 0) ( E* i0 T7 q" I( _9 U* Y. J
{
0 b9 f |4 p; @5 k if(debug)
/ t. {+ }% C; i1 }/ y {5 g9 u; B; W4 z7 O+ J
alert("remove invisiable!");% `) c$ p( Q* B( N
}; C3 O& p4 ^4 J
node.parentNode.removeChild(node); b/ q" j# ^$ j, m+ A5 K
7 ^0 P; @# D \' c2 j4 t+ v2 m
}
) h4 \% A; z9 J4 @4 x8 m# N else & M9 Z# \' J7 y. F( O. u
{. h% H1 s1 S' s9 M! S6 d
if(node.parentNode) 0 L. w$ m/ M3 P' X
{' m, @& E7 d0 U/ a
var orgNode=node;% f' c# t) f, O! B
var orgColor=this.getobjstyle(orgNode,"color")
G! f% f b+ W7 s# s& ^' \8 S7 K var orgRGB=getRGB(orgColor); : a6 G+ S$ ?6 y# r" h7 X
$ b: c9 y6 w! A% S* k- w
var parentNode=node.parentNode
$ K+ W+ c" {0 d# S e+ U0 ~1 @ var parentBgColor=this.getobjstyle(parentNode,"background-color");# X5 { ^2 @2 A5 h0 G0 b% G3 S" p
2 a: ~ F% B i1 T
var isLast=false;
( n1 D$ K5 i5 ^5 D. X8 T 8 h) t# t0 }; }9 Z! R/ H7 s- ~
while(parentBgColor == "transparent")
2 r! C* z/ J/ z) G* {$ w {
$ ]7 T9 h P8 Q, |
2 I- K. {, _7 n/ T, e9 T
6 H/ E8 f& m+ H7 n0 ^9 |; i8 J if(parentNode.parentNode == null)
2 H/ O, R/ m$ M {
9 u4 \2 U) K7 w+ K* k isLast=true;3 u# I6 `; v# H6 _* f
break;
2 @3 T4 D6 M5 h% F8 m( {1 p }3 k# d3 t! E# ^: n: V' a
parentNode=parentNode.parentNode;% B2 V7 K* f1 c: S0 u$ y2 Y/ Y
parentBgColor=this.getobjstyle(parentNode,"background-color");
: A7 a7 } t: L) [6 z: O$ i) n, s
if(parentBgColor != "transparent") + y. c/ ?8 \, K/ o# n \3 j
{" |3 x. b5 m& X; p, a5 w8 @
break;( Y2 @( k( v7 E# c; j
}5 `4 q) `2 y! v1 F7 Y4 p8 @
}
/ m2 \# [% d# H- f. s* {2 u if(isLast) 0 V: l' {% S0 X7 T
{% ~5 r7 H3 C; x
if(debug) }8 |) v/ O- }3 n5 U5 F
{% ^% @8 ~4 k. G y- R2 G1 m
alert("last!!");* L7 y! b; L( b0 D$ {* G
}
- L" u6 g0 g6 h2 E% p7 a if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
' Y& a0 l" T7 B8 g {
, W7 I# B5 ?/ g1 N+ M orgNode.parentNode.removeChild(orgNode);
, B9 Q5 m& Z3 v0 H: V) M8 o4 a$ @ }
( t, w7 B' E9 v- g& J }# p5 Y, U8 y8 d& B
else6 ^, k Y. X5 o. P
{
b- k# t5 ^, V! E# c if(debug) T1 Z" b" h& a) S: V: S6 I0 J
{
, D1 M: @& y" g; x$ m4 ^ alert("compare color and parent bgcolor!");+ o1 K3 F+ e6 y) q$ `! U2 i
}
$ |7 I, m" Q& m parentBgRGB=getRGB(parentBgColor);) D0 D4 E% k7 f
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
/ J+ m Z1 Z+ v- {3 `: j/ E1 S {
+ R7 z; Z6 z+ ^2 T! {: d orgNode.parentNode.removeChild(orgNode);
: ]( d" Q2 P# ?: g. x; K3 l }
, b1 V2 u! z" Z& V. @9 J' k9 U }
& }7 i. @- {+ N& j0 y3 H' ^9 O* W }' D- u) L. l, q7 |; q9 y3 z& G
}
& G# d* ^2 |3 ~( [/ y4 @- F }6 t$ f& r2 [0 @8 A& ]8 D
}2 q) a$ l5 o. u7 R& g" y2 d* T
* J; ^2 \! [7 A' h& _4 k5 D+ e4 X % K, l) C7 P8 T: w! q/ ? Q$ _6 I
var itemFrames = page.getElementsByTagName("frame");
. W# k0 ?8 I7 [$ l& Z% V var itemiFrames = page.getElementsByTagName("iframe");
( j. u. j1 v0 X
- u3 B5 G9 H6 j! ?' M: J var frame, iframe;
0 q' @ s0 s0 R" D0 } if (itemFrames.length > 0)8 F8 \% G3 ]! w7 E, k' T- w
{
( P- N7 c L0 o. [/ A; F for (var i = 0 ; i< itemFrames.length ; i++) Q4 ~, L" m) l# _
{
4 o, H; Y. I, H% a frame = itemFrames.contentDocument;
: M6 x, k) T7 L( E" \5 b. J this.RemoveHide(frame,objname); ! u3 L7 W# }: k y+ c1 n
}
& b$ b. T+ q B; Z }3 ?6 y8 D V& E1 `7 C6 U+ ?
if (itemiFrames.length > 0)
) G2 ~' i9 M$ M; j5 M# L# G. v7 C+ | {
+ l4 V3 Q" v/ r6 o for (var i = 0 ; i < itemiFrames.length ; i++) # V7 p. P4 z8 J. ^# h: m9 o8 h! a
{ F6 A3 b9 O/ o2 ?6 L# |- }. N* u9 W
iframe = itemiFrames.contentDocument;/ q" ~5 L' \) N+ i
this.RemoveHide(iframe,objname); ( x Y& @# J+ B" K2 N% }) H
}3 f4 F" ?# O+ E: f5 U( s% P
}
# @* [% j) f( `# E }# U7 @( |$ t& ]& A
catch(e)" I M3 o. N% |0 a
{ ~( j* I: ~7 B) o( H
if(debug), E$ ~3 F, B2 ]
{3 P* R. T8 ?" q& T* z
alert(e.message);8 W: O0 L2 ?1 W: w
}
6 x4 e# O, _1 U3 D; E) \, F( s8 z }( ?. ~4 z& J. g
}) ]4 u: }5 S; r
3 Y0 _+ l9 V! K
}
6 k8 x5 u( _# Q6 Y; U* C( C' {
- w: z& k1 u: q) E( Kfunction getRGB(colorString)4 d7 ?% Q$ d8 d2 C4 R4 u; ?
{' M1 t! S0 e, w) u
var RGB = new Array;
1 ]5 ?' u: ?5 | var tempSting=colorString.substring(4,colorString.length-1);6 e* Y; i8 T. }: Z
var tempArray=tempSting.split(",");8 l5 |2 q; t( e7 H x
% F1 j( o4 Q! w
RGB[0]=parseInt(tempArray[0]);
/ `9 r) n" @1 U* y% T RGB[1]=parseInt(tempArray[1]);' ~; n/ L" f. q/ c# ?
RGB[2]=parseInt(tempArray[2]);5 K4 [/ W2 |( e0 ~! P D
n' r0 f) Z9 U, s/ r+ k9 j% x+ N i return RGB;/ f; }* |0 L9 A/ c
}
G" u0 C, v4 q5 S" e* i0 Lfunction keys(evt) $ W1 W# q9 K3 i2 H
{
& T% b5 q9 ?5 Y4 }( L' l if(evt.ctrlKey && evt.keyCode=="81")
. ~$ k- Z$ t6 ~; z9 [ { 1 F* ~& d7 o0 u6 D1 \
CleanHideObj.on(0,1);
3 b4 J, K* d' C9 _ alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
' W5 P' u. g( S/ k" r/ P
4 \$ W* S/ q0 j8 ? }
; Y5 N. H- {% F, m9 b, V: d } ! T) s9 U0 V e* _2 g
document.addEventListener('keydown', keys, false); l! M1 F: T6 z5 y
GM_registerMenuCommand ('Clean Hide',
+ u8 l& C6 s8 X% l5 Sfunction(e){
+ R% ? h, J) V+ DCleanHideObj.on(0,1)
% a) E3 h: E8 ]alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");! }6 Y2 x8 S0 Z* p6 ~2 A7 R C
});
9 ]3 C z4 b5 i. z |
评分
-
查看全部评分
|