|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 , B1 h# }# T" ^
. P* z5 o4 R$ ~8 z& {: n' U% S
火狐插件,用猴子
7 ^9 A$ G3 M" V6 P8 g/ v( {7 [- z {& O2 G2 w4 H- r
var debug=false; 1 [ c- S6 I; S* p
var CleanHideObj=new CleanHideClass();
( Z4 p/ Q- d* ?1 Q( r2 @9 n
`1 O. F# H) o1 u) ^/ mfunction CleanHideClass() % \# a. I5 l& p2 m1 R3 H8 ?- S! O
{ 6 ~ i. M9 y+ G! s
- n, h1 m& e9 ~' D4 ~/ ] p
this.on=function(id,bMZ)/ u. n9 }3 k/ ^
{! w$ h/ S+ b' }
9 e o. k: O h) v/ F4 u! D* s if(id == 0)
& y" F' Y" q6 Y5 C8 ] {4 X+ L+ D! \; S; t5 m* w) y
var page=/* document.getElementById("content").contentDocument */document;
( U9 e. }2 C( P this.RemoveHide(page,"span");" @2 r0 B9 z# ~& O) j
this.RemoveHide(page,"font");
% \$ ~+ d$ a2 I0 S) I3 J this.RemoveHide(page,"div");
5 B8 a' ?$ Y! r7 o5 u+ x2 e this.RemoveHide(page,"p");5 _2 o$ p, c; r0 z0 |
7 ]4 C, x# _4 Y, l }& K7 e6 y# T! `2 P2 `, l, M: Z
. C' `- }9 ~, C& w; y, w, S% N4 N }5 Q. l! G7 f! B. B$ M6 Y4 `' H
this.getobjstyle=function(node,prop)
5 K5 Y5 Q/ ^. k) T {8 b$ v) h9 m% m: ^5 k, C' E& F
try5 F# X) [; u! M) f) s7 p( G
{
; S; T1 O) N9 _; {# a, Y/ M return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);, o3 V! l' u% O- r }
}4 m) \8 ~& C9 ?' w! N
catch(e)
3 t" j: k3 O9 K% B8 E0 T9 {0 A {
# ~5 x2 z: n8 p) d+ t if(debug)
* E0 e* \5 q- N: H @% o- F( l {7 ?3 y' r% Q; z/ K! Z0 L L' _. ]
alert(e.message);
6 `! j0 u+ o& S+ j5 M6 U }4 ~) H/ O0 V0 I8 v& t
7 p6 T2 D* `! D5 d1 N" w return "200";* A# r1 M) E7 Q/ ?
}- t# h* ?7 q" s: i) }3 y2 z% C# W
}, k# \) _6 {# c0 b! }- a) `5 T
" W0 k+ e5 r P this.RemoveHide=function(page,objname)
$ x' }1 }- d5 r5 R$ ~/ Z {
0 g" M9 B' c/ |, {0 {3 h9 S- } try
4 @% Y- h6 n8 f3 w; u {
& K+ |1 `* T9 q" V0 l/ q var minValue=15;" r) A1 }# I3 B) u$ @
var objs=page.getElementsByTagName(objname);
+ E4 {' F- r' Y( q- j, _! v! N
* L' y, } u/ X/ C3 x4 \! ] if(objs.length == 0)
. d3 P& }3 P2 F- ?, q {" w* D3 l4 j4 f4 e
if(debug)7 X8 V6 C- V5 f. u$ D% e
{
0 v+ A, i$ a5 K3 m" Q; z alert("no object found!:"+objname);
- F6 z0 ^% x4 A }
9 Y& P3 q7 y9 [ }6 o' y5 d4 t& s3 f1 ?: D
else( b6 R& s; ?# [
{
' p' B- W# t3 ?* X) i " [+ S4 O: W: d+ x' x
for(var i=objs.length-1;i>=0;i--)
0 O2 H" o& @& Y5 Z {9 @, z4 \$ X/ |4 u" X7 _4 \3 U% Y
var node=objs.item(i); / K1 J& B+ Z( U2 ~0 F$ {7 F+ j p
( |4 K: p# }: I2 B0 F0 m
. R$ ?7 I" p# X: ? if(this.getobjstyle(node,"display") == "none" ||% V; |7 o# L4 c1 m2 W2 C
this.getobjstyle(node,"visibility") =="hidden" ||
4 ] L9 C! O% d, m( K: R parseInt(this.getobjstyle(node,"font-size")) == 0)
: k* m5 O( m- g1 O3 |7 v {# K# [: v+ n/ h& o
if(debug), G! ~* x6 k4 l3 Z& J% m
{4 w% ]1 T; z- \% J1 a% y# U/ ~
alert("remove invisiable!");
9 i- A2 A- V1 }# t. L! |' a }% G( f# H; T0 w$ S$ w$ i1 r! Q
node.parentNode.removeChild(node);4 a6 i- O5 W9 N1 W
% O1 R* A% p* G! V+ M Z1 V }6 Q4 Y$ E/ o5 J
else
, a, s8 h! R: s" t {
& M* T( ^: P+ o$ h- P& [2 @5 H if(node.parentNode)
: b, f. E7 P' H, L {
1 ?' U- g7 h9 ~2 \( m" X9 o- M var orgNode=node;- G8 V2 L+ D. S3 B. A/ B" _& K
var orgColor=this.getobjstyle(orgNode,"color")
+ j. T$ x) o5 ]6 A9 { var orgRGB=getRGB(orgColor); 7 U' Q0 |/ l) _2 [6 K/ u, ~; |
+ Q1 X" r4 c) {2 c8 L
var parentNode=node.parentNode
& z. f. w& j, V0 K var parentBgColor=this.getobjstyle(parentNode,"background-color");
6 ^8 e7 ^, u7 A2 N' z. k' E1 O D$ Q
! [8 X! y& w7 c* L! t var isLast=false;" {, a* H, J) n
- Q( K3 f, s+ ~/ H while(parentBgColor == "transparent")
4 ~: f; Y. z2 y, U# O6 k {, e# |' r* q" N/ p
8 o1 @0 l- m& C
. g. G- h+ {/ r1 S
if(parentNode.parentNode == null)
' p/ P5 ?1 ]7 a7 g! w {; M; y, n3 l; g* r. y
isLast=true; S1 L' n& m3 M0 _4 w& @( v
break;
' I/ k7 S: m7 b' s- C( @- } }
S+ C; f+ W8 |* ] parentNode=parentNode.parentNode;
& m Z( ^5 c1 [, Y8 X parentBgColor=this.getobjstyle(parentNode,"background-color");
5 {. k" A6 Q& s2 x8 H( [/ G+ I. e% b
" Z. U- H* f- Y z if(parentBgColor != "transparent") I6 K; Z! H% q2 W
{' b* V( [4 B3 A
break;
) i1 H6 R2 p- Z( W1 ` }
7 h7 s# b9 ~2 c( a( W$ u }
2 {$ r: r+ C# Y if(isLast) . G! c% ]! ~" `3 X- ]$ A
{& S k4 _6 s* a8 x
if(debug)
8 j3 f" P4 _: Z+ B) X {5 Y0 C& k$ T: {, T0 @ ]$ L! W9 v5 F
alert("last!!");
+ r/ H* Q! V4 d9 ^, m: a$ M* | ? }" }' w/ r! C7 C; X" m) `. e2 K
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))( W# ]+ z# r( a3 s" n
{
* r$ l4 O' I5 d3 C/ R. ] orgNode.parentNode.removeChild(orgNode);
3 | [' A! m7 D% o$ D4 Z: d: u }7 _1 T8 t/ ^+ X9 r5 [! F
}
/ ]; Q% h1 P7 N t else D. ?! K/ L# C2 t# b5 a6 [
{3 @: D, p& a; `) c1 [( y
if(debug)* C8 y6 o# i& M5 Q; g t* C- L
{3 U" v3 F, k1 D+ S+ V
alert("compare color and parent bgcolor!");
& B( T2 }; d3 E* J% w0 F }0 O) f$ |& X# o! A6 r4 K: T
parentBgRGB=getRGB(parentBgColor);9 z, h5 N" P5 c- H5 ]% `; b
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
1 W. L/ w/ P( C) b" O5 b3 o* w {
. O4 s( W1 }3 K3 x% l orgNode.parentNode.removeChild(orgNode);
0 Q0 Z$ R, R- W1 G2 f6 e) v }
$ ~4 S3 J N2 u( e9 i }
2 q7 T9 s: x7 d4 e5 ^* n$ ^ }9 c+ @$ N! [, K v
}
# [3 R9 O7 U. }$ V6 H) a }+ k) i8 G% ~: x
}% E7 k' K" e+ B
4 [8 k& d1 q5 S4 q, f5 m
7 H$ q$ ~( p8 w2 y. Z
var itemFrames = page.getElementsByTagName("frame");
5 y7 y; C5 k0 [: ]3 C, o$ X* {+ r6 K var itemiFrames = page.getElementsByTagName("iframe");
/ i0 m, K: X0 [6 F$ y + w$ i M; N1 w9 c ]+ M ~1 N
var frame, iframe;
) m" h$ J5 D7 [; I4 p4 H' Q if (itemFrames.length > 0)
; M1 j$ j5 O! T& p& P {
8 \5 o/ n" Y0 B6 x, o for (var i = 0 ; i< itemFrames.length ; i++) ! @2 i/ p K1 y
{, o. S: k0 _9 X2 R
frame = itemFrames.contentDocument;6 A7 ~0 @; f# u9 Q
this.RemoveHide(frame,objname); 1 a; \* I; p; @9 L
}
( T) x, r2 S. c4 M% b1 x" |7 h }
& b* s2 A/ P/ t" t+ V: R if (itemiFrames.length > 0)4 j1 J3 } W1 x* e" V3 K+ i0 v
{- M: J7 g& C0 Q
for (var i = 0 ; i < itemiFrames.length ; i++) * i' ^- z9 b" a& o+ z. P' @, s
{
0 s8 Q! _4 w0 G! c1 b iframe = itemiFrames.contentDocument;% ?$ U! I/ J* w7 b* [9 G! M
this.RemoveHide(iframe,objname); 7 ~& f3 L4 u7 t+ M; k1 G) c' `8 t
}
5 p" D0 v! R; }3 Z: {2 g7 D8 {; g }
- Q% v. a# x4 {) b7 }% j# s$ g9 u, P }' K# }; D9 @) N( M
catch(e)
) b& V2 C9 e- m; W; X {
9 D: i9 ?4 \- F4 E7 z if(debug)4 h# G; r \+ b, F
{5 Q+ m( m) t: Q6 b
alert(e.message);
{" V) n6 X# i# |( {0 R% H3 f" g }
. w9 x5 d& j) p; o4 n# _5 i }# f$ {; _+ k' z- Z( t+ `
}
, h" ?, K, i1 i) {! W5 |/ R
9 t/ m$ s! b+ A& \ F4 k}
. M! L% e6 j" g* P( d1 x4 W. V" b6 b
function getRGB(colorString)
) X$ i; e2 k! B* {7 m: Q! P{
7 Y- t' t2 ^) ]* v) U4 ` var RGB = new Array;
h8 N% M7 c- }9 [6 D( p& B var tempSting=colorString.substring(4,colorString.length-1);
7 p" r, |. v8 H. R# } var tempArray=tempSting.split(",");) \( f s# T, {& ]' m
' l9 t( i, N5 P: C2 k! o
RGB[0]=parseInt(tempArray[0]);, V8 P, m4 R" U* N
RGB[1]=parseInt(tempArray[1]);
3 E! V( O0 w. r RGB[2]=parseInt(tempArray[2]);
1 G K1 v& u8 [ . V# I+ f- i( Y( F2 _' g
return RGB;/ |$ \& e4 k3 W( g
}
4 F8 k$ H$ I) R7 B/ W' J8 l; ^ Dfunction keys(evt)
: F% P3 Q$ w5 C. K# ^ {
* R, b: V; w* v1 X0 K" f& e: @- K if(evt.ctrlKey && evt.keyCode=="81") & {9 M: |5 l- q/ I9 _1 y1 z
{
, t& q9 x1 J( y( R/ r, q4 ^ CleanHideObj.on(0,1);5 Y# c- F. }5 S8 K) I
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
) o( p( X% x- e6 {2 {' b
' w9 H- x6 g: i; X6 ~ }
; ~6 \+ t% N5 t1 L* ` }
* Q7 E3 ^* s& T* e* idocument.addEventListener('keydown', keys, false);
2 t$ b0 ]4 M+ K0 ]1 `7 Q4 iGM_registerMenuCommand ('Clean Hide',
; a$ B. r8 T& |function(e){; l. X( x, Y: u2 @1 p! p0 ^$ W
CleanHideObj.on(0,1)8 P1 X1 Z2 S4 C
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");0 z# Y9 X# ]) C! o* n. E- _% ?
});3 z+ e, W& f; R
|
评分
-
查看全部评分
|