首先,要把以下代碼存為cookies.js 在htm頁中調用!+ @0 N+ z: @* L* K) C
5 V1 G1 c1 {4 j* X9 \+ K4 U
此為JS代碼A:8 I9 g' F" f) ~$ v$ N- Z/ m
3 A+ ^: k/ s) E k, Efunction setCookie(name,value,days){( d, O7 L& I: Q/ F5 z( [9 e
var exp=new Date();
) `3 R7 @; M& a2 t exp.setTime(exp.getTime() + days*24*60*60*1000);
8 i: L A7 `1 |! R4 x2 h var arr=document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));* R. E0 I1 ~ r/ b, j% I/ n! U& v
document.cookie=name+"="+escape(value)+";expires="+exp.toGMTString();& N3 g2 y( b. I s; {$ [
}5 [8 l7 [+ A7 K4 p3 O! G9 e+ c. e
function getCookie(name){
2 h! C* U y* `: K var arr=document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)")); {. g; x# n2 k: N+ n% s5 p0 d
if(arr!=null){ q$ b7 w6 v7 h6 |; m" D
return unescape(arr[2]);. | A I8 {/ h8 t% S, i
return null;- L+ C2 p' ?( d1 C- P0 s
}
; Z- k" c4 Q6 P6 S; Q}
& d) {0 j# T$ e. afunction delCookie(name){6 z% I) t$ C2 a% b5 v% o6 j
var exp=new Date();3 |9 X6 v! m7 [- [
exp.setTime(exp.getTime()-1);
5 r$ J5 N8 E# d7 W: S" b var cval=getCookie(name);
' u7 g0 w% B: F6 S4 C if(cval!=null){
: y: T( x- F6 s7 Q* C S document.cookie=name+"="+cval+";expires="+exp.toGMTString();
8 J. x( F' m! Z9 l }
6 j: w7 s, W2 g7 T}( a. G' `* f5 z
以上代碼就是讀寫cookies的函數,這個你不需要看懂,只要知道怎麼用就行了
* G( R7 q1 ]9 w8 b. u! G1 S4 R* q
+ @3 T; j( H" e, p" `* z' P2 B$ N% v- n0 z n3 B0 @0 F7 u
MJJ們再看如下JS代碼,把這個代碼存為pacth.js 在同一個網頁內調用,注意先調用JS代碼A,再調用JS代碼B
8 A0 K+ W+ I, U4 [<script src="cookies.js"></script><script src="patch.js"></script>
, I% R3 @# r H! s) }+ s- ~注意路徑問題,這個就不多說了9 C/ J0 l% X6 @" ^' o& ~
! K( n. S2 L: \4 \; u& D2 ?4 C% [
此為JS代碼B
$ w* u5 T& s' O5 H# F( M
, G* x, i# }# K( u0 y0 dfunction out(){
7 W" X. {% T# \( n/ O$ s) k! O if(getCookie("out")!="yes"){* w7 K+ s+ x$ o9 M1 G; m
setCookie("out","yes",1);document.write('此處放置你的js代碼-標注1');
' |/ f# Y+ ^+ k; \3 J9 J$ n3 Y6 x }
7 B/ Q/ e2 j8 S# g0 o# s}) l9 e" X* O# x8 u" w
out();
. q& H9 H! v; ]# n8 a" e0 B5 m此上代碼,是調用cookies中的函數,來判斷名為out的cookies是否已經存在,如果不存在,則,設置此cookies為YES
5 Q4 s* a* d9 w然後再運行你的JS代碼: j {3 I6 ]- G! O5 E
; S4 z: S5 k8 C" }: H- _# r: \至此,如果你再刷新頁面的話,次名為OUT的COOKIES已經存在了,就不會再運行標注1的代碼了
9 p1 [* H- S. h) U: y$ A$ b0 @9 P( f( }
補充:' {5 |* [% L/ x* a& `7 ?7 D
* C' ^& O& i$ V$ i/ k3 J如果我要設置一個彈窗,還有多個需要設置時間的代碼怎麼辦?; H, a( Y7 n! J! Y
那就把function out() 這個out函數重新命名,就又可以多設置一個可控制時間的函數了
) Q! ?6 a0 u8 ]+ c& z/ Z' ? $ s5 v" V# J: \1 K1 \
舉個例子 / m: Y9 P) h# K7 T3 n7 ?, V7 R
function out1(){- D% O3 O. O; T$ M$ J( L8 d- d
if(getCookie("out1")!="yes"){
5 \; k6 x3 ~2 J" v6 @ setCookie("out1","yes",1);document.write('此處放置你的js代碼1-標注1');1 g0 d/ \. [, f% N% X: Y& @
}
" i% g$ i$ i$ J% ~! j2 o' S}3 b4 K6 j; w/ K. f' N3 |
out1();
* O' C8 Y# D0 V# z. U, B: ?' t# w! H7 c) s% ?' l
: C1 P6 g8 x. ^, \
/ b0 |4 [2 G" ^3 z9 H
function out2(){
8 ^! m# m* v9 [' o# N- C: K if(getCookie("out2")!="yes"){. [+ |, f% b G$ k% W/ N: I
setCookie("out2","yes",1);document.write('此處放置你的js代碼2-標注1');
; S& |* g) o3 @ }
& s3 `' o& J9 {& N8 c8 j8 F+ G$ Y}[ y6 f% S$ N9 w( h
out2();
0 _6 @0 D% w5 L1 a- \依次類推 |
|