|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 - E% E; r3 F _% |- K3 `7 \4 V _ Z0 |) s
: l4 i* I, _9 o0 @# j+ i0 _8 Q火狐插件,用猴子& S! a3 L. g0 n
; N+ K0 c' e. l2 S, y, E
var debug=false;
1 R n( C% [+ e/ j( `1 tvar CleanHideObj=new CleanHideClass();8 q3 R/ ~5 @. i* n& p" \2 |) h
) L+ f N3 O0 Y U9 t$ J/ k f( Yfunction CleanHideClass()
+ m$ k- ^% o* b{ ' g$ h4 }+ s( g# B7 |3 X- w: G
. F# L+ J: B {8 m+ B( j this.on=function(id,bMZ)4 j! [/ @- e- i
{2 _1 j7 b: }: F& w9 D
+ t% j7 W. z4 i$ V2 _" w2 V5 p0 R
if(id == 0)
" Q2 Z, ^" m7 [7 ~ {
* `3 b- k( O; K! V. { var page=/* document.getElementById("content").contentDocument */document;
+ I2 w" h' Z! a3 w/ Z$ {7 P9 e this.RemoveHide(page,"span");5 p, V9 S5 N6 ^
this.RemoveHide(page,"font");
& \$ H9 g4 x% F this.RemoveHide(page,"div");: @! d4 B# |1 \/ o( T
this.RemoveHide(page,"p");2 K5 z: N" j: b. u! z$ r
* U# p6 F1 G4 @0 ~! n- D
}
, c3 N% \; J' `3 ?( e' ` 8 ~' ?/ ]) |6 ~
}4 o8 X8 M7 P7 C: i7 x( V0 q x' |
this.getobjstyle=function(node,prop)5 A, B! y. B9 S7 z4 D
{ g$ H5 O/ ^4 I6 [- T
try. S, o, W: [* L6 M: Q6 c8 W$ f
{
) _5 ^0 P! [' J return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);7 L( e! B; ] z& K0 F* {4 t7 K
}
$ `# J: @; B6 x% J9 ~ catch(e)
& ^0 J* g& q0 Y# c3 C, ~ {: ` t, R' W- `4 o- M
if(debug)
2 R) } x( f* E) _- E2 e8 _ {! s- Y2 v3 g, c5 z
alert(e.message);
- D- P+ d S: A* c4 F( [ G }+ W" ?' t7 D; ?' A
) x( [5 g- U" O- i5 C
return "200";
0 u8 \% ^4 H S- j; Z }5 @$ B8 H$ D; C6 E& T7 K
}+ } g @# C3 W# P
0 k, c4 R" @& p7 s' K) J8 ~
this.RemoveHide=function(page,objname); m5 B* e* H+ @% f& S. \
{
! p$ y$ ~5 \1 a: Y" T e try- I% b- n, j5 a' M1 _9 @
{
6 V+ v! P6 C7 n! \ var minValue=15;; d5 F/ r' J/ \7 ?# n& B
var objs=page.getElementsByTagName(objname); ( ]2 k7 C! b7 B9 e" x
; s) w* z3 M' d+ V& Z
if(objs.length == 0) . \% R: w9 D. d/ B% z
{- j3 y5 L0 J" M) j; R
if(debug)
, J% { I% Y# @% p$ h9 Q {
; N7 T/ ^ J0 c; t/ [4 S alert("no object found!:"+objname);6 U7 Q' ]6 e. i
}; H9 B7 Q5 O7 \8 U
}
6 p* _3 x" [& G4 p- p5 y+ t else) X0 S { }+ y
{ p6 A4 {+ n/ W/ h
' p8 Y5 H5 W6 O. F _+ T for(var i=objs.length-1;i>=0;i--) : C+ n7 U) ~+ L; i/ i
{; K8 e$ v; c0 ]% J( P
var node=objs.item(i);
1 E A* ~, Q3 H
W4 u7 A9 X4 W3 [- w* {$ Z
) M( H8 a2 Y: P/ S3 j if(this.getobjstyle(node,"display") == "none" ||
/ X6 y' `* X8 F* ]& n6 t* @: u; d this.getobjstyle(node,"visibility") =="hidden" ||& x7 Y$ \3 c X- U
parseInt(this.getobjstyle(node,"font-size")) == 0)
) z" j: A, A) U {* X, j* G* M' O# d
if(debug)( ~3 \1 u+ i- a4 G! K0 k, p+ b
{0 u4 Y, s4 C f: }
alert("remove invisiable!");; x) A& b! {9 `7 {7 @
}# C0 l( F! j3 j2 \7 D; }
node.parentNode.removeChild(node);
8 E* k& i8 D7 G! n! a
4 m, M+ e/ _, ? }* ]1 Q& g1 _9 C: F$ P9 Y
else
B! F- E$ n% J# ` {/ N2 L! z1 D9 Y; }1 ~6 \4 C
if(node.parentNode)
8 a/ ^8 k$ h/ J* G: J) m {
' k. m: B, @; c4 N: u# w var orgNode=node;, X* T) G4 O( ~1 W" G
var orgColor=this.getobjstyle(orgNode,"color"), c% U0 D3 X( v% J8 c! u( h8 H
var orgRGB=getRGB(orgColor);
9 B% J6 F, y t6 @& i4 L, Q# u ; u/ l$ U) e9 b( \& I, `
var parentNode=node.parentNode h( d3 v8 ~( B5 S+ @* L4 ]
var parentBgColor=this.getobjstyle(parentNode,"background-color");- J; f" t7 t' o- A
# r, U5 X' V. G+ U5 e6 ^2 g var isLast=false;* p. m" ]+ l9 {% K T
; r' j+ B% s/ I, D7 q8 ]4 @
while(parentBgColor == "transparent")
! x e& @5 V( K+ `( {1 o { ?3 |( e' @, U' Q3 H
, J) S* O6 u0 g + ^+ @+ e) a& m& k, @! K7 Q
if(parentNode.parentNode == null)
* ^% N) j0 H s* D) U0 [: B- f* m {
* T3 Z: l6 M; z+ I6 F7 l* { isLast=true;
A7 w- v7 y1 k2 e# ` break;
/ B9 R$ S2 W1 J: ]% i* v$ c6 r- d( A }
. ^( {! {" i# g! ~4 V parentNode=parentNode.parentNode;
% k" V! O) b8 | parentBgColor=this.getobjstyle(parentNode,"background-color");1 P5 I. }0 y* N" [! B) e) e
& Q# s* Y* B7 i% R9 L
if(parentBgColor != "transparent")
& K ^% X0 @0 r6 i5 j {& {$ u6 m5 W! D9 i/ d- g
break;, L1 Q! o: T f3 \
}' Z6 L0 m! U+ C: Y) c. w
}
" _' z0 U+ H. O; L if(isLast) + X0 p5 k* W0 I2 }5 B) B
{9 z# k1 f; s0 j7 e. P
if(debug)
8 o# d2 R7 v, x/ w {
) |! d1 ^+ V" f( K alert("last!!");, I6 _) \1 V# z6 }# x
}
$ V3 |. b- I3 f; W' V if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
& C! l" {' f4 t) f. }$ H {; S+ @8 Q8 T, q
orgNode.parentNode.removeChild(orgNode); 6 Z6 B7 G. I4 i& q$ r0 A3 n
}! h, r# |9 o/ I. S& C" W/ M
}
- p& ]2 J9 B' j5 W3 Z: C else5 ~. o/ N! n+ \" x/ {0 Z
{3 t/ h8 M4 C! ~9 W6 \
if(debug)
, i' O/ u6 J0 |$ s- ?6 l6 l1 ] {/ N: E7 k9 l% B: d; A( O
alert("compare color and parent bgcolor!");
5 B1 m+ L! ~" w: V }
3 g0 k! ^+ g6 }" ^1 i5 i/ g parentBgRGB=getRGB(parentBgColor);
; P2 O( ~- @/ C- [ @5 l if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))- S; ?$ b2 b3 P* H; `8 m* I
{' V/ f1 V: d) f
orgNode.parentNode.removeChild(orgNode); & o/ {1 g4 W4 I9 t6 d9 C
}
: u1 [- f" s3 ^$ ?% T }% `* ^' C' \" r2 j: }# P! U
}
9 s4 V. @# S, v- T }# L. a( m& F. r7 D1 J' A/ {; R W
}* @* C: s- t0 C9 T2 ]
}
8 v5 Z5 N5 r$ a7 P6 L 5 j7 `' z9 t9 R! r: M
* Z; S) l- W7 I6 E var itemFrames = page.getElementsByTagName("frame");
# Q) U; `& ~' i2 s var itemiFrames = page.getElementsByTagName("iframe");
& v* X+ J% |6 W$ c % Y6 i, t. N( F3 j
var frame, iframe;0 C1 i2 E: B8 m. F& a/ f! B
if (itemFrames.length > 0)# F, O7 j2 B, _$ r p
{" ^0 t9 H! q' S" V! F; f+ y
for (var i = 0 ; i< itemFrames.length ; i++) 1 w' [# S! s& F# `/ v; d8 M1 }
{8 A/ @) C# b* N( V' o
frame = itemFrames.contentDocument;
. B. c# i) `5 A this.RemoveHide(frame,objname);
# T; b/ I$ @. t8 @) u. u7 ^ I }
4 n( v: b# X% x0 n7 N: q. {# M }, a& e# H; F3 c; Q$ R$ Z
if (itemiFrames.length > 0)) ]: ?, A# ^' S( Y0 J
{
) @- W4 D9 k9 E( V% `$ e" Z1 ? for (var i = 0 ; i < itemiFrames.length ; i++) + a5 z( V7 f6 i" Q8 M
{( M/ }& `4 L- u
iframe = itemiFrames.contentDocument;6 n! n# D( i8 v- e, K: d; r
this.RemoveHide(iframe,objname);
7 Q. L8 _: T% j. @" i; Z }
! B* s6 e$ l; N% E9 s# O }6 B; K }% @8 k' j8 _2 N" j$ Q) i
}3 }0 V+ r) m( c3 L- c: C2 S; x
catch(e)
: M) b$ ~ k1 H6 w2 ^' A {
, \( {5 w4 j+ B$ S; k- Y- T- l if(debug)
3 ]& t/ w3 ^ A! u7 v# o& p6 Z# X- R6 ~ {
& S* U. |: U4 J+ e alert(e.message);
4 J; f, z7 k, A! _" r }0 ^- a3 [! e+ v7 u
}- n- `1 M) B3 f$ T* e; j
}
% f) r/ h: o2 G) Y) L& C) p & O" ]1 L5 v$ g0 W) a/ ]# Y
}; i! q5 S: \$ w) m) @2 t
+ J8 y7 u/ i* f4 G1 q7 J8 R
function getRGB(colorString)
) f% D, I$ q2 {* Q& X2 u3 \2 o7 g9 E{
2 S. l9 u& U, |1 e. S3 h9 C var RGB = new Array;4 A4 r1 J/ z! G
var tempSting=colorString.substring(4,colorString.length-1);6 v! T6 G( n5 j6 L N# R7 V
var tempArray=tempSting.split(",");
: }% r d, t( B3 \- j; i9 Y
! m( i( y8 m. Q# h: `/ u7 U RGB[0]=parseInt(tempArray[0]); W2 n+ W7 R$ O1 n8 f6 m$ ^) D
RGB[1]=parseInt(tempArray[1]);# I% ]/ c# [2 R- ~
RGB[2]=parseInt(tempArray[2]);' P* h2 l; {$ j& J. u$ @( P- b
1 D1 E- f2 m' k return RGB;
+ L& o+ b4 J. T}
0 @6 ^, { y2 G: efunction keys(evt)
2 ?3 c0 p, W* w5 i: W { 6 O4 O/ }3 d( d
if(evt.ctrlKey && evt.keyCode=="81") 2 p+ I7 T' ?8 X7 z
{ + K$ J, k% K- n
CleanHideObj.on(0,1);- ^ J; f+ L# L
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); " V* Y# v R3 b3 T* D& E
d; {0 u1 _2 _5 W }
# }3 o8 z, O# r }
3 U# B+ m/ \5 L$ zdocument.addEventListener('keydown', keys, false);
5 P& K, c4 Z0 u! T+ H8 U, v- fGM_registerMenuCommand ('Clean Hide',2 y @( H5 c% i0 [3 Q" S" D$ F
function(e){" [5 y" c) t1 d% F2 S
CleanHideObj.on(0,1)
$ \ a5 j- \: T5 n; D- P, _alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");) w `4 i( X6 W) M
});$ D* w; s z3 _& b& m
|
评分
-
查看全部评分
|