|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
, B; x5 o1 a2 P& k% l0 O0 V& h |, A. S) P7 s
火狐插件,用猴子6 S. S$ W+ D' ]7 y, M6 p& b: x
& ]( R3 r" L/ p, } T6 u5 Bvar debug=false; - B; i1 z! ^ A
var CleanHideObj=new CleanHideClass();
6 N6 ^) Z5 L; V9 b: N
1 W. e* z. j1 [2 p! vfunction CleanHideClass()
K8 J5 b0 ]6 n% L{ 4 U9 R l( j# J6 z X# t: k
" n0 L0 X0 l, V2 C. P z1 b# V this.on=function(id,bMZ)
+ C3 J, @5 n# Y6 [ {
4 ]' d9 L3 a$ `$ o, D8 ^1 J# J 6 w% k5 q1 y) D! N4 S, \
if(id == 0)
1 A" k2 g; P4 L0 i w M {
) k" X7 x1 H9 c# U' s7 G1 k# { var page=/* document.getElementById("content").contentDocument */document; # Y7 B0 e* j! `
this.RemoveHide(page,"span");
0 e( U/ K# ?9 h' _/ {" E7 V this.RemoveHide(page,"font");
/ Q {3 D5 o2 |5 V6 @6 R this.RemoveHide(page,"div");' J5 b4 u9 b! }8 X* A) U$ x
this.RemoveHide(page,"p");* ^5 T6 q8 G- r! W, N) v1 ^4 N, U" K4 p$ s
+ Z1 n" H8 {% R }! h1 [# k( c! ]. o- ~. M% l
+ Z0 ]3 t/ B( H8 o; s$ r }
! g, N1 \/ i1 X7 ?9 S this.getobjstyle=function(node,prop)
* q7 a/ F* w4 h' O4 e {
/ Y; F* a1 Q) s) m8 j try9 n; `; ]9 k, v( z7 V
{
6 V* |/ L" x0 O" B return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);) c7 w, _3 L7 z6 m6 p# Z/ d \
}
g0 k3 [6 W5 V/ G. R) F7 h8 G catch(e)9 s9 [+ b) y% [6 ~* s' l
{
2 X/ r" x; Y+ u' e$ h* x0 S6 I if(debug)( r. r$ G# Q0 Q/ W( c& l% S! K- j
{
' J! |! z6 W9 T% b% w alert(e.message);9 _. A' i* v- C7 j9 z% \
}7 H7 B$ f w; u f% J/ T) w
# J" C C; n) s' [8 ^
return "200";$ B7 [5 Z: R2 M) U: d
}0 K* ]9 ^+ v" s
}
; d' S. {) ^" U4 c 2 W+ q( z9 g1 h! T, w1 Z- a" M4 T+ @
this.RemoveHide=function(page,objname)
: M' j P7 ?$ @5 Q! @8 Z, H7 Q {* K) N9 a5 n% s, I+ R
try
- Z W. f8 h$ M! h- o {0 P: g* q! L) j
var minValue=15;
6 H- M2 Z7 e( q* ]; R3 R var objs=page.getElementsByTagName(objname);
. g0 n' [" c: ?* i/ ~
2 R4 W- I# w5 z9 k* f if(objs.length == 0)
- q; m/ E4 `( `5 W' g( J {
% D X4 u* n7 K) x; d" G if(debug)9 ]9 E4 b- m, G
{
$ n2 q/ [( c e. Y; a& Y alert("no object found!:"+objname);. P9 U! Y+ P3 I# I9 ?4 D X$ z/ u7 W) Q
}
( z" _* K0 V% { }1 J; P3 R& Z7 L: Q4 u, H
else* |+ G, l# w! _& e# z1 J# p9 P
{0 }/ w0 q' C5 n! W3 p! s8 T
* _* b3 {' W& @/ _# G for(var i=objs.length-1;i>=0;i--)
& J% a7 p8 r* W5 v' f' A {" r8 u: u4 q' L- ^. N4 H% I7 l4 N
var node=objs.item(i); ' D0 ?2 d) h( ~9 T, i) Z& v
- S' i6 E3 `+ }0 f! C+ |3 p % n/ ~& J; |- ~) D+ O7 C( t
if(this.getobjstyle(node,"display") == "none" ||. O4 H4 U/ Z) z/ ~/ Y# X6 H
this.getobjstyle(node,"visibility") =="hidden" ||
1 x6 q8 w/ j* q parseInt(this.getobjstyle(node,"font-size")) == 0) ; D, ` I& e) Q* p# F
{
! z" C1 `% B0 V# C7 @$ c if(debug)7 l% C! N9 j1 ]7 B
{
R7 H1 S/ S; Z; X alert("remove invisiable!");
- Z+ ^, F# u. I }& ], M# }. v N) @1 @
node.parentNode.removeChild(node);
% N- U% J( h1 F) D / p" ?/ E% V8 K* ]* _5 s4 d+ ]7 f
}; p. R9 O0 F5 x3 \( B+ t6 A z
else 5 k; C- o! l+ i/ T6 \5 B) {, D
{' Q6 g) U/ [* Y; S, O) Q
if(node.parentNode)
8 t4 U7 |, V) y: Y5 x1 x {
( x1 `1 Y" r) y' M var orgNode=node;
3 ?0 H3 ]0 x% s! x; ? var orgColor=this.getobjstyle(orgNode,"color")1 t' _# Q6 J1 [" @, V
var orgRGB=getRGB(orgColor); 4 E" R' o0 Z+ ^1 ]7 l% y) U3 C
# l0 h+ l5 B6 O var parentNode=node.parentNode3 U4 U9 x: W8 F; F1 | E' p
var parentBgColor=this.getobjstyle(parentNode,"background-color");; s* }* W& s( s
1 `, Z; D' k* z! ` var isLast=false;
0 J) q9 [: y# Z$ l x 9 R# O$ @- l" Z
while(parentBgColor == "transparent")
: x0 ?% L1 ]2 k* f5 w* j. B {
. }8 B# Q+ u) X9 H! Y$ O - U2 c! B1 Z$ e: p) q
$ e: c7 q. ?) k+ V J p if(parentNode.parentNode == null)$ w/ L2 t% V) c; n5 C" \
{
) m/ i. z6 ?* O# O4 F6 |2 B5 v$ a* b isLast=true;0 e. g% M5 q3 n) L# }! A
break;; W2 j" j" M* d; n/ c
}
1 b' t) f$ y- F% e parentNode=parentNode.parentNode;
; h N6 M* |- Y1 i! R) d parentBgColor=this.getobjstyle(parentNode,"background-color");
' X# c! j7 e/ o4 I y' H; |% ^# j W/ J1 _) B( ~! d+ g8 Z
if(parentBgColor != "transparent")
, w4 i( |7 _. t% | {( c2 ~! E9 l0 ?+ f, D
break;
* T) P+ y6 y* ^! c& l+ A }
1 i6 _% ?, Z0 I$ ^5 ?; o }
: W3 r. e$ }1 ^) z if(isLast)
6 s: x# ^4 O" A* r, H {* W& b2 K) W, v1 X0 E7 c
if(debug)
! C) X, Y$ l+ j F* e$ S {
0 ]# L/ u8 ]3 }0 T/ K alert("last!!");
/ p' D X4 @. |% J7 w$ V }' B4 |, C6 b! W1 s9 \9 c% y
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
2 J0 O; h8 H+ N( X/ b$ ~ {: T# s% [4 M- i5 r
orgNode.parentNode.removeChild(orgNode); % N" G* M7 T. Z7 Z0 r, T
}
) o2 @- u6 x& e/ } }& T9 P7 D5 R* f: v
else0 N i! D' x& B4 e1 y
{
: d$ I0 Z. _ q" i5 k6 w1 Q) ` if(debug)
8 }2 X- f: L e0 W2 M {' ~7 T* y3 Q7 l7 I* m
alert("compare color and parent bgcolor!");3 J& o" J+ C: [4 f' j% I+ }
}9 r# }7 s% ^4 F0 t; F7 v) V. L- j" s
parentBgRGB=getRGB(parentBgColor);7 B8 d* p8 G0 I. j8 D
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))- w" s7 u U' _! q H) K( Z9 T L
{
* }: W B* [8 _3 c( r# C% ~; T' X J orgNode.parentNode.removeChild(orgNode); & d8 x: y4 p x w
}
* U, Y2 J( N/ {) R9 m' j3 n' U+ E }1 [; C" o! K/ N* [# C
}
! A) Z6 w1 ^; ~ }4 P' W# ^0 b& Z* c z
}
# ]( H# R& s0 M5 I' W* P }& T( `" s; r# l# P/ Z
; `, Y" c) x. Y
# {/ v* u* C4 J+ J& V
var itemFrames = page.getElementsByTagName("frame");
3 `" i7 G4 ]( I var itemiFrames = page.getElementsByTagName("iframe");
4 R) R- V# U4 M, K8 M / V: }- g( O" {! x
var frame, iframe;+ u" L6 v3 n1 e/ f" P' i
if (itemFrames.length > 0)
3 B# l0 M. R$ W {
/ Y8 o' ?- s7 n& ]* v8 i" ~1 i$ f for (var i = 0 ; i< itemFrames.length ; i++) . ~6 |8 m) g3 E1 p7 E# Z5 Y
{4 v: J5 W. @6 o$ T, M
frame = itemFrames.contentDocument;# \$ s1 d5 J) p% n' F8 r; L, c
this.RemoveHide(frame,objname);
9 S( ~/ n) C, i" @; x# M }
/ b! ^+ J2 q8 ?3 r# i# ~$ o }
0 s3 i5 B4 L l& M) b4 s if (itemiFrames.length > 0)
. V J; g& Q% u3 Y {8 Y2 i1 i1 s+ ]- s1 h- ]
for (var i = 0 ; i < itemiFrames.length ; i++)
5 f2 J% j( `- l6 Q7 v- I {0 H1 P3 A/ a7 F4 f
iframe = itemiFrames.contentDocument;
, n8 f5 ]1 b9 M+ D3 ]5 r' L1 p6 m this.RemoveHide(iframe,objname); ! G: h+ b6 k/ }1 @% o( G! P! p
}
3 i& v" f. u$ V6 M }
: P; H* Q9 H: @6 o: t+ Z: e }- z7 ]8 _5 c$ n1 F# f
catch(e)
5 V/ ^& L) A @2 G0 b+ ] {
6 F9 |1 A T# [# I8 E0 [ if(debug)
1 ]6 u/ I7 W2 X/ z( j& W {
- S1 F4 O0 A0 |3 a: V alert(e.message);1 L. [- c# C' ~$ w7 F7 i
}+ V) w' Y: b- M$ N
}: B$ ?! g( q$ j
}* a7 G1 d* L6 D; l
5 p9 k# X& z R; @: ?7 e/ W) W5 {- S; Y
}
% K& I; S3 x/ w! P7 {! T
. {, I: J/ A* n8 ^2 S$ _5 d, q* gfunction getRGB(colorString); L" h* S3 T$ L/ j) ?
{
6 W9 N _. M6 i4 O var RGB = new Array;
3 _5 g1 M x/ m! q% E1 ^6 }7 a3 e var tempSting=colorString.substring(4,colorString.length-1);
$ \9 p0 `# ]0 G7 r# B8 O var tempArray=tempSting.split(",");
* T, D! K" y6 ~0 a) O) _
/ i1 U8 l+ B6 k* B- C4 M, b RGB[0]=parseInt(tempArray[0]);0 V: @$ V) G# m' A* C. X
RGB[1]=parseInt(tempArray[1]);
3 L5 S' C$ R+ z8 v, z6 V RGB[2]=parseInt(tempArray[2]);
7 Z. U( R1 a4 M, y2 r; x1 h
' h. C1 D2 D# h( S. M1 s return RGB;
. F9 V$ H, S( e, W9 f}
6 x; E, N; [" A" l _function keys(evt) 8 q. Z1 r( v* [, D, `( J& v
{
4 @" }" n9 Q% F if(evt.ctrlKey && evt.keyCode=="81") 4 c- {. U; k" L4 X: d
{
& W9 d9 X6 Y/ Y7 g$ x CleanHideObj.on(0,1);
! f( w6 q C: _- e6 }' o* R alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 0 `0 C4 I0 ]+ J0 }5 k. j6 ~- N% v/ b
9 [0 l8 Y7 k+ @; e } . b. |; _) I/ l. {. L: K! M' _7 Y+ I# C
} , @/ f3 b5 d/ h; |1 s7 k. Q! K
document.addEventListener('keydown', keys, false);
6 i) b* T7 f0 gGM_registerMenuCommand ('Clean Hide',( U C9 `4 x5 E* p
function(e){2 a7 c( E8 V- V; S: h9 u! z
CleanHideObj.on(0,1)3 h/ H5 i6 i: d" K7 W& \1 i
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");& e5 t- |' T' N2 ^ r5 F5 j
});$ h- s) ~4 l. }& f2 B4 G! U. H
|
评分
-
查看全部评分
|