|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
A" o6 S" L) E1 p% C8 L5 I" Q
& p a% J% z6 v. [& m7 o( P火狐插件,用猴子
* I: |. j2 L- h0 {+ e/ C0 c
7 H" j! z4 K' g D6 uvar debug=false; # g4 `6 P6 y2 D+ I$ o* d; q5 t5 p( v
var CleanHideObj=new CleanHideClass();
& R, Q& K2 j3 i) x& U
3 q, t7 `0 z+ a4 ] x* ifunction CleanHideClass()
6 e/ z3 R! }9 b: @" f{ ! ~3 W% G0 B2 ]% y' T$ t3 k" O; T
, i/ m1 F! x0 ~2 d0 d
this.on=function(id,bMZ)
. W8 A7 H+ R' w' L; Z7 j {
/ W( N+ I' ?) o `' w) v5 P / l+ C. F h; u9 O2 _
if(id == 0)/ v6 ~- Z7 ]5 O& R: ]
{
9 Z2 f, Z3 E: \6 `1 j& A var page=/* document.getElementById("content").contentDocument */document; 1 A# N) ?: c; b' |7 ]
this.RemoveHide(page,"span");
" }/ f0 O6 \' A4 V* @ this.RemoveHide(page,"font");' l) T: H, z' l
this.RemoveHide(page,"div");
$ L; e% p" u+ E, `0 v; N this.RemoveHide(page,"p");
- f% D( \6 A/ c# c
; x6 K, ?& A+ }; R }
0 B1 u4 q8 y/ E0 C9 v4 }7 d
' _# s: N3 B6 ]- Z+ k+ ?* r( O2 E }. {. M" q) C4 z5 h
this.getobjstyle=function(node,prop)) E* y; ], x$ t5 _, h) _1 _
{
7 A3 Q7 L/ ~! S1 p try2 _0 _' x: K) F) ~. F
{7 Q: V1 x; P8 P3 b
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);& \# p" N; v5 z6 W# F7 Y7 S) z9 A2 c
}
8 N( u. C' o) n9 B0 r) }( ? R catch(e)
' z' ^+ E- e9 h/ [9 Z8 t {9 u1 I# z9 Q- C/ j y
if(debug)
4 S0 i7 Y+ R+ h {
& D o- n2 C2 @2 {# ^ alert(e.message);
# t V8 o! d2 c3 K1 |: F }
. H7 S2 d5 O2 i* E
3 ]% U/ ? H$ m. B9 x) u return "200";& M6 |) D+ @( u5 F6 ~' M
}4 P$ }8 C/ J" A; N' K5 t& E: Y9 i. d" s
}
3 I- R5 p G/ {/ _/ \/ e/ d6 Y
9 h; b" H- |: c) s/ M3 Y' j4 D this.RemoveHide=function(page,objname)
) V) ^6 ]5 a/ k8 s& E5 `; J {
$ B6 f" ]& c9 Q try
7 q) F, G2 Q4 i0 Q! H {
; N0 v6 m: f5 W7 q var minValue=15;
) W' A2 u+ D" v' r7 D5 \ var objs=page.getElementsByTagName(objname);
4 a7 o+ F" H7 a1 Z8 k/ X
2 i' p$ q2 ` K! {/ n0 @ if(objs.length == 0) ! P9 y( f3 W2 Q* ?; |' R4 G
{% d8 q* i7 c4 b2 Q; } c" L
if(debug)
/ B! g/ i4 c- E) F5 K' [ {- A* J" |. `* t/ O5 y
alert("no object found!:"+objname);
H) \" h+ Y$ U; w }
( M' f3 ]( ~- F- T" w( ~% }+ i }
( N# j1 K7 G8 b* q1 N else
+ P5 e& c3 L8 Y% ?, ~. U% `! M. p' b) ^ {) T4 Q2 R3 i- Q" J' F6 D
5 w3 r5 G2 P* C0 t5 f( S" R for(var i=objs.length-1;i>=0;i--) 0 F: ~2 ~* f/ b
{
6 g. T( D8 ?# e: ?. A1 Q6 w, `% S var node=objs.item(i); 3 }2 y5 J2 R! N. U7 J. t4 Y. l
A8 e2 H0 Z- x. a* G& P% _3 m
: k+ N2 B2 l9 _8 a% u9 f
if(this.getobjstyle(node,"display") == "none" ||. T* I5 P; l# d! Y: }! K
this.getobjstyle(node,"visibility") =="hidden" ||
4 D" ?! P# N. r9 N parseInt(this.getobjstyle(node,"font-size")) == 0)
. ^& g- T4 i5 F8 x7 V {: g: L1 G/ c3 _
if(debug)
2 S8 ^& L& u$ j {7 i$ u6 _2 P& b% n6 O) d
alert("remove invisiable!");! r. m+ G3 q7 Q6 _. G& w5 h% j
}
+ X: q9 l7 Q4 T9 F9 B& r node.parentNode.removeChild(node);% Z: Y4 u! O0 ~( c$ P
7 A5 u. q. p& m( {; g# J: ]0 U
}/ c& Q3 ]" p0 y! z; U$ m
else 1 N* J# d( c5 U9 j5 h' b( F
{* e$ L0 j) [/ l
if(node.parentNode) 5 n& V; r5 H }0 d a
{
8 d' z! ?1 _* r' ~2 e( i. K var orgNode=node;" ]/ [4 z1 d. D. ]8 Q- x
var orgColor=this.getobjstyle(orgNode,"color")
- h4 C: t! m, F& u. g var orgRGB=getRGB(orgColor);
( l6 f# y8 y8 ~# F4 a
2 y: i1 E" ?: G& x var parentNode=node.parentNode
4 m2 @% T: N% a: T: I var parentBgColor=this.getobjstyle(parentNode,"background-color");/ d2 L2 H( H4 [9 Z0 Y1 m5 e, [
6 H: X6 r8 Y1 j) G8 |* u/ D2 V
var isLast=false;, r& B! [: t J) `: ]6 _9 @
m' c# K+ ?- q' \6 {
while(parentBgColor == "transparent") 0 L* D8 J5 V0 Z, K) M6 \
{7 s" Z4 D9 K L9 r, J( ]9 K
0 y6 \7 }. c( F
O+ H4 \; V* c if(parentNode.parentNode == null)0 |, f5 R H6 n
{
8 _; x! B" y& _% a. P9 T isLast=true;! n* q* s: ~- j( m- k1 P
break;
2 [* S X- K: r+ g }8 i$ @( v9 @! X+ a
parentNode=parentNode.parentNode;2 Y2 x j r9 O! d7 t& y( T( ^
parentBgColor=this.getobjstyle(parentNode,"background-color");, q, C' c8 K& l. J8 i3 D# ^* @
6 R% V5 p2 H( U, @
if(parentBgColor != "transparent")
7 g" Y7 \# V9 M9 D5 [0 ?; ~ {
0 X6 o# [1 V: n+ |- X break;
( F- t, j* d0 _- [0 b }
* ?1 q# T1 b+ C1 z }& C; E2 ~* ^# K: o' a* T
if(isLast) 7 S9 j' q0 ~9 J2 L
{
8 t: V9 Z" H) @, @& Q7 H* ~ if(debug)
) |( c9 r, w$ o9 Y! _ {% t% V+ _! W7 T# E1 n
alert("last!!");8 l2 a" ?) t( I! B4 t# G
}/ R$ H* ?3 C; x+ @. E/ p
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
% c( P9 K. J; r5 F2 b {' ^- w9 P, Y4 \/ n
orgNode.parentNode.removeChild(orgNode);
3 {4 f! I [' k }+ k- R/ t/ z- H& N3 O) H
}
) U9 S% S8 |( _1 @" I& b else; k5 {4 f" W/ v- [, u+ I: f: Y
{
8 P5 o8 }+ L. m( u if(debug) o* k% }$ I' o; R4 I0 D D
{/ O8 u8 d/ l" r" u x1 V' W3 P
alert("compare color and parent bgcolor!");
+ I g( h7 ^5 D" ^+ P3 }! T( R }
& Z( A' H6 M) ^9 o parentBgRGB=getRGB(parentBgColor);
8 Z2 t8 d. }* a% Q/ S if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
' N# L- n! O- a9 N+ J# g {
# D$ p- I+ e+ O- Q' [, r9 t orgNode.parentNode.removeChild(orgNode);
# [+ x# n3 r( j p }
\( O( Q1 e3 v, J; m6 y' k }6 i% \7 T9 A% x/ w# m3 G7 A+ V+ `
}
) S3 S* d8 W* i: S; ~# U2 `" N7 x$ y }
: H1 T: V- S% q/ k' e1 J% b }8 o6 \$ L' v |/ D6 V4 F
}
6 Y9 L) t3 h* U/ L1 x' \. H: t% P ; {) r1 P8 s8 n
! J" o( N$ v5 b$ r; t var itemFrames = page.getElementsByTagName("frame");) z! ^3 E- ~" G- q1 T3 @, a6 ]
var itemiFrames = page.getElementsByTagName("iframe");- M# L3 e8 m9 ~9 i) q- s
) C9 K6 b4 ] d7 B8 O- b
var frame, iframe;
% k0 H. `! M2 D9 Z8 g, ^- g if (itemFrames.length > 0)3 U+ g3 g3 }# U; ~
{9 R/ z6 w j+ E& k0 e3 t' J
for (var i = 0 ; i< itemFrames.length ; i++)
: A4 j* h& d4 l% i( R7 | { _( P* O) t% K. l# r+ _9 N
frame = itemFrames.contentDocument;
) C- J1 z$ q/ Q" {' ~ this.RemoveHide(frame,objname);
8 N: Y' V* S$ V6 \1 _ }$ X5 J* z; l, w
}
( U5 q" C# P# p- ` if (itemiFrames.length > 0)' ~ L. g5 t# E6 L3 o! f6 n
{. j, L' ^5 L" k: Q0 C
for (var i = 0 ; i < itemiFrames.length ; i++)
# q- {3 X8 n0 g- D' }3 E6 T6 Q {# C) ?" |% u `- Z3 `
iframe = itemiFrames.contentDocument;
) E, u5 m9 _; |# Y( d o2 \ this.RemoveHide(iframe,objname); ( M' F+ b$ M3 m
}0 |9 F; V% |( w2 e9 j
}
3 _1 f* j- ]' G. c6 E! `& j5 D }
2 `+ W5 K8 _7 `+ v8 t$ a catch(e)
+ V V4 K! b" g* u, W# }0 C {+ U4 C! A$ k$ `7 C8 a! z2 ?. ^
if(debug)
# p7 x* N3 ]' E2 p) A0 u0 f* m) m {
$ v6 Y# O, x: X; H alert(e.message);8 ^ v, K! D/ q1 t( G
}$ F1 k% d) @- F
}
( E, L3 V Y' o7 ^- x& [9 E( W6 L }! i% m' ~! J. u. g% c- h* U; @
9 N0 d/ N5 K4 e: Y9 j) W8 v* ]7 ?1 W, \}4 _( B# e7 Y/ H/ l
8 }. x. W4 W- x5 O Y
function getRGB(colorString); A4 U ^, X; o
{1 U8 w7 ~1 o. W: @" p. G
var RGB = new Array;
; O* l; k8 ?/ ?, ^0 f var tempSting=colorString.substring(4,colorString.length-1);, d1 {/ l c" G5 G
var tempArray=tempSting.split(",");
" |6 u( D$ R% {. G/ E/ X' D$ ^
6 S( v8 N! U1 k RGB[0]=parseInt(tempArray[0]);: c) P/ ]6 a# O0 A* O6 C
RGB[1]=parseInt(tempArray[1]);
8 S$ }% _" I' L1 X5 a u RGB[2]=parseInt(tempArray[2]);
' L7 T9 Y& b# z* g: e0 V6 Z6 d7 W ! E, v' K9 |& P. f( S& z
return RGB;
) s1 O: I9 B* f( V}
3 O% N* t* W3 e3 }! Ufunction keys(evt)
3 m# a& U: h" `& j# ~9 g1 q6 K { 4 b! H7 E" U( T3 D3 s
if(evt.ctrlKey && evt.keyCode=="81") / q& z1 u1 `& W5 i& P. o1 ?
{
) ~8 _2 a* _; q9 \6 S CleanHideObj.on(0,1);
: \: Q7 U8 B" K, B0 _ alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
$ f2 O7 M3 Q( y2 N5 G; ]+ H & @. Z4 V4 P# \6 [8 E4 a- k8 y5 @
}
, o+ O" I; g+ ^ } 6 Z" ~2 s& X9 K. k
document.addEventListener('keydown', keys, false);
# |( d5 u* m o8 nGM_registerMenuCommand ('Clean Hide',
& X. G2 v$ h$ y( Dfunction(e){4 k3 @, S8 S: B: b
CleanHideObj.on(0,1)
. e4 c, s# d7 J" A# g1 Y5 Y! Valert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); A* t- v* B" |* i9 A/ z5 ]
});7 g7 H/ y: I9 R2 c
|
评分
-
查看全部评分
|