|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 , k6 a4 X8 U {! ?1 t, L1 E p
6 C* y8 G a2 I' m% T1 K火狐插件,用猴子/ U0 a. d% q2 z
# N) d# a1 L2 y! R$ n& ]6 @
var debug=false; 3 q4 m- h) V1 J1 n9 p4 O; H3 \3 U( B+ \
var CleanHideObj=new CleanHideClass();
' m4 T4 j$ B1 @7 `- s& x
( t6 r+ H. V8 V7 ]function CleanHideClass()
- G0 h- |( k$ X- S3 ?. h, u{
2 h0 t k. Z m( N, N- b ! Y; h5 q6 {( c6 G. C$ E
this.on=function(id,bMZ)
) ~) z) }# C4 j) H* C8 \' j4 c {" y) `4 `% J" j5 U
/ d( V9 L6 c+ M) G
if(id == 0)
& {8 `$ }9 f2 d' s' [4 K {
! n, r6 H8 z! x" v var page=/* document.getElementById("content").contentDocument */document; 8 c- r( y; H- l
this.RemoveHide(page,"span");/ V8 V. s) f, G+ v$ N. V$ G
this.RemoveHide(page,"font");, V }9 W7 e6 g; J
this.RemoveHide(page,"div");( |* k/ c* x4 p# f
this.RemoveHide(page,"p");" G7 N1 Y8 g; s" Q
. m) w4 ^: T7 {5 Y8 @* O* M. ^
}
9 @/ g5 K; G; _$ S2 t/ K7 b) M + F, P6 ~! g6 L; `' [) ^& G, V: z: O1 Y k5 M
}
d8 `; X/ V1 Q# ?- _4 @% b4 a this.getobjstyle=function(node,prop)
$ `* q0 C, f$ @: W" T {& a4 y( U- r* _5 e4 O6 c$ n
try4 {) n7 B$ W+ |& @8 \# [: `" [
{ N* H7 B" b1 \0 s! b: ]
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
( r* \) w: b \4 o2 W4 T, d9 ~1 l- _ }
' H7 i4 @* R3 D+ [# a catch(e)' r7 b- y$ e: j, v1 g7 k
{1 Q% c% M. ? z9 S9 Q" @; v
if(debug)+ }4 W8 {2 P! I3 F9 L& m6 u
{
" P4 f. U! h3 D! ]& r8 w alert(e.message);
; q0 h, c" t# O7 M, Y }2 B3 N S* @! W# S. p
9 |; e8 r: q/ x2 l3 J
return "200";- C# d% l* r5 M/ D. E2 o
}
4 V) J) }) b) ]* a }# j( g1 l7 S1 r7 ?1 l" s$ C
2 B, Q) v4 G% ~3 g- y& z this.RemoveHide=function(page,objname)
2 }5 m+ N+ M8 v/ t0 L {
+ F* `+ J$ s' k8 b) H try. r4 E# a) g. l; A
{
2 [5 A& h- g9 E5 l! w$ {9 P var minValue=15;
7 `" m5 a6 T, r; M% d2 ^ var objs=page.getElementsByTagName(objname);
7 l" {* \7 m5 Y! `) W/ H' S" M- M
& i& ~1 o, w6 S if(objs.length == 0)
7 H8 X/ Y2 D# _9 Y9 |: h- `7 ?5 k7 O7 I8 y {
* z: a% j$ z8 t6 K5 n; K& ] if(debug)% S' _& x+ {% B8 M0 u
{
; \4 ?* g" i7 h# Q9 W9 v& L alert("no object found!:"+objname);
5 a9 C$ o* \! o0 D8 u; v }
. Q8 D8 c7 v6 M4 A8 B$ N/ t }5 ?! c) X( E' ?# X" C$ G/ s2 Q
else" s; P' z1 n9 X* K. x
{& E9 H0 t" i5 r9 q
8 ^1 J1 l1 k1 C for(var i=objs.length-1;i>=0;i--)
( a0 h4 m9 Y) U# r. O/ u {
' c' L v! m* C" [9 \5 Y var node=objs.item(i);
2 } ~$ j& b" L* w' o; d
7 G7 P) B( L+ ~$ A) x
* p" p8 B- u/ V9 D4 V: Q( R" w if(this.getobjstyle(node,"display") == "none" ||3 q" a" u1 l8 n4 T- j
this.getobjstyle(node,"visibility") =="hidden" ||5 \! E$ }) A# r! C, X
parseInt(this.getobjstyle(node,"font-size")) == 0) # G( A Y, Y! }% x) d. Y
{
6 E% m" \& H6 Z. u- K) {% R* J if(debug); b1 `, _$ w' s# K2 I$ ]# L3 Z: d
{
( T6 @* d$ E, J* m! \ alert("remove invisiable!");8 m7 f% }2 w/ ^% D9 `: Y
}
* m( S7 }% f, {! Q T node.parentNode.removeChild(node);/ `; z. V- ?* i
1 L( _" _* ^ y7 h
}- i- |) d1 k: a8 z5 |4 a) a
else
1 z( M2 U2 p4 b# u3 f7 K& ^ {% B- [; S% \& L( ~$ ]
if(node.parentNode)
0 C0 x) A: ]# w" a {1 R7 `, E% G) D# t) Z
var orgNode=node;
/ y8 f9 |8 l2 w var orgColor=this.getobjstyle(orgNode,"color")
P( f% @ T6 s, t var orgRGB=getRGB(orgColor); ! g+ t# d: m* Z- [' q
' \6 b+ K; z5 W3 f7 ]& e: X
var parentNode=node.parentNode A( n* g9 y6 {- b: E! I! W; ], |
var parentBgColor=this.getobjstyle(parentNode,"background-color");
6 ~; O' F7 z; o8 F% t
6 p+ Y. x8 E( q' N var isLast=false;4 A! l% O3 N* X& m7 c
1 B, b0 n# I' G9 p. a% l) X while(parentBgColor == "transparent")
( {& B& X) t( O {
- q; [2 I( N* v8 ~ % k9 |+ Y$ V& n& U+ x0 y' |: g
" A1 a2 ?2 B. Y' p7 N' d if(parentNode.parentNode == null)0 `1 d% \+ u: ]0 y
{
' z3 H& N/ o$ q! Z) w* \" [ isLast=true;& G, ^9 P$ a9 C
break;1 t" J/ s' F8 N9 W* a0 i1 k% M
}
4 Q& J2 J9 z+ R8 S' \ parentNode=parentNode.parentNode;
. U: ]5 o6 z3 j9 v# ] parentBgColor=this.getobjstyle(parentNode,"background-color");" U6 ]: Y) d6 I! D0 v: g: Z
6 z! _3 x w3 n4 {) | if(parentBgColor != "transparent")
1 s. Y' K9 N8 P {
* N, x: c/ ], w9 Y. j6 T break;. _! x7 S1 k, c8 S2 ?
}& o# J6 Y2 w1 g1 O/ f$ j; o
}. }; ]+ W& M3 ^! l
if(isLast)
7 i7 o8 n2 z% g {# d; X( K' X4 W" W* W# t2 _
if(debug)
( p" N, }0 _0 e& e' N {9 }8 k3 @ s2 I& v# j! |3 i. T1 d
alert("last!!");
, Q- [4 d: d- W2 E* k }
+ c! _8 w5 d0 d+ \1 z" U4 J if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))9 p9 ~6 V' i2 b/ C# i
{
& a* Z% P! w. E+ A+ q" h# p orgNode.parentNode.removeChild(orgNode); 0 h5 Q% H/ g# _. E$ D7 H, L
}
6 a: ?; g1 R8 Q% [7 x" I }$ E" @0 F) h( _' x% k$ [; d6 s
else
: C w6 ]0 |: b; \( ?8 c {3 E6 |0 |1 }% e/ ?$ x
if(debug)
6 e' O0 e; o- G6 a0 g4 T {7 m* P7 R+ I; f3 k" e
alert("compare color and parent bgcolor!");, W1 k" O. u/ h" f( R. F5 ]
}- M4 `+ f/ w3 T( n
parentBgRGB=getRGB(parentBgColor);' w: x5 R& ~7 x; d& C5 G" ^) X
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
8 P0 | D4 Q2 u: Z: c2 M d/ I/ C {/ o) l7 a8 A2 V( B. e) N1 F: X$ j
orgNode.parentNode.removeChild(orgNode);
9 G- u7 |8 q# ~. u }. M% w; u; G5 O" ^4 }" S3 v
}
; o# ?9 |& K3 W% ]! E+ m; B) O0 w }& A* h! E' p9 q/ @$ O
}
- L0 r. z+ F8 ]; _4 L }0 X9 N0 h6 |+ o1 ~0 Y
}9 W$ ^& _; S* p( |7 B( ~
. Y% u- D9 ~: K0 P3 N
F4 P4 H/ y( Z. {3 ~7 d/ f var itemFrames = page.getElementsByTagName("frame");$ ]/ r7 O: `. c; A
var itemiFrames = page.getElementsByTagName("iframe");+ j! p+ {! ~# _. A# E: [2 l+ J8 N
8 [7 u9 f/ f2 d& s* R F. |
var frame, iframe;
& b$ V( @9 Z0 ]: S5 X+ V6 z if (itemFrames.length > 0)
" a3 e) Q, w0 N% Z- _2 p7 J$ j {% O: K# L0 b! m8 Q3 T
for (var i = 0 ; i< itemFrames.length ; i++)
- `' b- ^% ~$ N& ?( H0 g {( x; H5 o2 U/ n/ d
frame = itemFrames.contentDocument;8 x4 a" P$ D' d. X& j8 i
this.RemoveHide(frame,objname); " R' o; f' G+ @# B% t
}
6 g, K, S, j$ r) q4 F6 ?" x) S* ` }8 i+ k/ ?) g% u0 Q2 ?, h! a4 U
if (itemiFrames.length > 0): }3 o% Y, l. e
{+ s* C5 ], f: Q$ Q" X' |
for (var i = 0 ; i < itemiFrames.length ; i++) 3 c$ I: T! ~: H3 D8 Q4 s0 N; G
{0 J4 ?! F% n$ v: l6 I1 K D+ f, r
iframe = itemiFrames.contentDocument;7 @& E7 D9 N( l! M7 d* i$ ?
this.RemoveHide(iframe,objname); 7 A. x! c: `" n3 V" y2 b9 R s
}
+ h. z) m# e+ k% y$ R6 J }
; ^+ D* T8 v: _, N# `, J } o$ j2 U" U7 I- `
catch(e)
* ]% x* D; {+ M3 Z7 B! q0 P {$ `4 G) T7 ]: { y( k
if(debug)8 O* P, S+ n/ @6 `$ m3 b3 {
{0 H- i/ p( l# ~
alert(e.message);
- W9 X Z3 J. ^9 W4 C4 A }
+ | X+ P. Z% a8 n% x/ W% {5 ]# r6 P }
B2 k& _. j$ T, i }
+ J# \( L2 T# i 5 F& a5 A- H6 t6 ^ n
}2 c7 g. r$ J1 Y( x
1 `! g' T7 J! Z4 i: G. {/ ?/ i
function getRGB(colorString)& D1 W. x2 D7 h! r8 A$ Y+ S
{" F; C# [% s( r4 Z# G# p) ^8 u
var RGB = new Array;1 @6 G* U+ K+ o
var tempSting=colorString.substring(4,colorString.length-1);% a3 s2 i1 y- N' W
var tempArray=tempSting.split(",");
. {8 I* q2 G# T
5 m3 |4 `8 ^* }4 D" y RGB[0]=parseInt(tempArray[0]);
2 @3 \- G1 v' u2 \! t+ X$ \5 R RGB[1]=parseInt(tempArray[1]);
D$ \$ E9 l- Y- q RGB[2]=parseInt(tempArray[2]);- z. }9 T7 M1 w
! y1 j* ?0 l1 k( L9 _( ]: Q: S
return RGB;/ V! N' r& p' X0 G
}
* h5 {0 A% Y# H" O# ufunction keys(evt) ' ]6 k" j% W0 }% T2 ?
{ ( C. e+ l+ T0 u* V8 _
if(evt.ctrlKey && evt.keyCode=="81")
+ H# U% ^. K7 y/ E4 x/ K) X4 y {
, E' e) {0 v# i$ x) U6 { CleanHideObj.on(0,1);
; d. D2 Y8 _ n' V alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
& t% L) Q( t8 `! x8 F2 N
" D* F1 S- M9 _% ?6 A# y4 W2 X }
+ {; r' }' e: w0 @: ] y } 8 w( K8 K9 F- ^/ c+ x8 [
document.addEventListener('keydown', keys, false);
2 \! S: D5 W. j: O- |+ r' EGM_registerMenuCommand ('Clean Hide',
( ~# p# x4 `7 `8 U0 hfunction(e){6 a; a8 L$ p7 Y1 M+ s) W' H I
CleanHideObj.on(0,1)6 L; M1 B2 x5 B" g# Z6 Y' k
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
/ F. F; A3 w& s" ?});
2 O5 n2 r+ r, W0 R! B5 _" y$ g- c$ r( X |
评分
-
查看全部评分
|