首先,要把以下代碼存為cookies.js 在htm頁中調用!0 v, F1 k' V# w% \5 z( ?" D4 R
$ t/ |* G; J$ K' l/ M1 g7 z此為JS代碼A:0 R$ u e3 s& a* q+ G
8 E! e7 n) e4 q/ i9 F J
function setCookie(name,value,days){
# }! O! v# q, C9 S" l var exp=new Date();
$ d2 I. D1 F+ j' [! j8 O exp.setTime(exp.getTime() + days*24*60*60*1000);
% N( A7 v) K: G% D var arr=document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));6 W1 U+ Q0 {0 @( J% M& I
document.cookie=name+"="+escape(value)+";expires="+exp.toGMTString();
; @8 X8 u+ u. `/ }2 K; o}% e& Q" b) f' t9 L1 \; U
function getCookie(name){5 R' j) V, A/ \2 b* F/ m e# u
var arr=document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));/ |* D+ H8 s2 Q5 d
if(arr!=null){& J" _0 `6 U2 y& } f. q
return unescape(arr[2]);/ C7 l: p1 ^5 h8 o
return null;4 X' t; T8 Z R
}
k% v9 O6 U; Z4 `}" t* }5 ^9 w- n0 y+ }0 |
function delCookie(name){' C" I9 _& M' z
var exp=new Date();
* X" P8 P# _- ^2 i# k exp.setTime(exp.getTime()-1);
; F$ n4 O6 j1 u9 T var cval=getCookie(name);$ K J) p- Y2 l, o Y( \5 ~
if(cval!=null){2 Z+ ~2 l1 [ ^' H% i" g. j7 e) r o
document.cookie=name+"="+cval+";expires="+exp.toGMTString();
], _4 Y) F2 O* ]- o2 Q }- w9 P5 @& b. D+ `
}8 [ T; E7 V* j. ^& r/ k
以上代碼就是讀寫cookies的函數,這個你不需要看懂,只要知道怎麼用就行了
' A! [6 ?+ _! l% a
( G1 K0 _' i' y u$ G r+ H& b2 Q5 H T+ ^
MJJ們再看如下JS代碼,把這個代碼存為pacth.js 在同一個網頁內調用,注意先調用JS代碼A,再調用JS代碼B5 l8 D( h3 o# ?* o$ Q6 M
<script src="cookies.js"></script><script src="patch.js"></script>! T9 |( [+ m5 S* {; a
注意路徑問題,這個就不多說了9 [8 @- S) P# \+ t" U* r, v
9 O8 u7 n4 m3 l) p此為JS代碼B: D/ J8 ]; {' K- { W% V& N" Y8 z* ^
3 s& D5 {% Q4 P* u: cfunction out(){) c! z8 G- }5 D% l* S( A
if(getCookie("out")!="yes"){6 ^% F3 S1 j6 ?1 ?6 R$ Y& C% H! ~
setCookie("out","yes",1);document.write('此處放置你的js代碼-標注1');/ w; f4 k: N8 g; t5 w+ j" K
}7 k* r6 E( N% p5 [
}
) D+ j7 H3 M" e& B4 Jout();1 l9 G6 q$ L3 a# K7 a2 K- e0 O
此上代碼,是調用cookies中的函數,來判斷名為out的cookies是否已經存在,如果不存在,則,設置此cookies為YES
/ N M7 j: m* t2 Q- U然後再運行你的JS代碼
1 w. J( f/ d% F3 o
& s$ A( h9 c2 h4 r至此,如果你再刷新頁面的話,次名為OUT的COOKIES已經存在了,就不會再運行標注1的代碼了
, v! ]. K4 _, W) x/ A+ [" C7 D9 {- d. l
補充:8 u# ?5 j; M2 P. v
: e- \; G4 z+ {" G/ P
如果我要設置一個彈窗,還有多個需要設置時間的代碼怎麼辦?: }! U) X( O1 O. e: L3 y3 j& b
那就把function out() 這個out函數重新命名,就又可以多設置一個可控制時間的函數了* b4 ~3 p( y [
. L g# U4 ?. z3 I( V1 P+ c
舉個例子 7 h* B9 i8 R$ P7 B9 B
function out1(){, W) E. P6 K$ l/ f$ ]
if(getCookie("out1")!="yes"){
! f$ S* c7 c* E: ] setCookie("out1","yes",1);document.write('此處放置你的js代碼1-標注1');* B, C; D+ T) R
}# s G: A X6 t0 ^
}
# z) u/ R' e r- H1 d: ?5 w: Tout1();& c' o0 z: B6 f0 {' j
3 ^% U7 @5 I) c
5 ?5 q8 h+ Q6 G% ^6 `+ H
2 z3 b: D* }2 \. N1 Y
function out2(){
. \$ q( I# c; k m$ v# q1 i t if(getCookie("out2")!="yes"){& B: E' z6 K0 C3 W" @! @
setCookie("out2","yes",1);document.write('此處放置你的js代碼2-標注1');) e) y) L3 v N c
}4 H0 o( h# V: y; R0 }+ a5 F
}[% x) n/ g7 d( Z: a- B
out2();
+ r# R( t1 r! [$ A依次類推 |
|