首先,要把以下代碼存為cookies.js 在htm頁中調用!5 G0 Q/ j0 m+ d% g" c+ r* }5 Q( H' H# s
* w2 S( B) ?/ c2 b" N0 f1 }; N- C此為JS代碼A:
6 q) D- [6 Q* D) u% O
' y: u9 V- I5 Nfunction setCookie(name,value,days){
$ t1 c6 N- ?- M8 E! ?7 C# X/ D var exp=new Date();
5 E" J. a& N0 X! p3 @ exp.setTime(exp.getTime() + days*24*60*60*1000);
1 B/ P7 A7 i4 K2 W var arr=document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));1 |' G# z# J, f
document.cookie=name+"="+escape(value)+";expires="+exp.toGMTString();
) b3 P! P' ^/ W7 G9 H}
/ o8 ~! C, i; s& ^5 c( vfunction getCookie(name){. g F4 d9 u8 c( K8 M. G
var arr=document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));) a6 E5 M* n. z5 j k5 `
if(arr!=null){, w& x9 T {% T3 L
return unescape(arr[2]);
( y7 L0 Y9 ]! O# J: K: j. } return null;; e. }' ]4 y7 @
}0 q! T* D- m1 O
}/ a3 b' e/ U2 \- @+ H; U
function delCookie(name){' T' W( ^% C( k8 J
var exp=new Date();
$ j5 t% f$ o- L0 V2 V" T exp.setTime(exp.getTime()-1);
. `5 i; `, T& n. z4 Y6 L var cval=getCookie(name);
5 z$ k6 K" N: A if(cval!=null){6 A9 I% F% T+ w6 ?" a' |
document.cookie=name+"="+cval+";expires="+exp.toGMTString();
$ ]- u/ O C- p( C# z4 Z }& n( z( m8 h" {
}$ E$ @' ~1 w0 Z; o8 }3 }
以上代碼就是讀寫cookies的函數,這個你不需要看懂,只要知道怎麼用就行了
7 |/ N" f2 G6 ^7 b' @1 ]: e% y7 H
8 y8 D% t y+ v. i2 [9 A' E3 wMJJ們再看如下JS代碼,把這個代碼存為pacth.js 在同一個網頁內調用,注意先調用JS代碼A,再調用JS代碼B
! A3 e. P3 ^- z# Q<script src="cookies.js"></script><script src="patch.js"></script>
% P t) e9 A# v5 O0 \注意路徑問題,這個就不多說了6 b( Y4 g5 s4 e
6 n3 K9 P6 A# B8 u
此為JS代碼B
2 T0 E, |& z" ^2 P- `% o7 y5 x! w
, p/ V: D. f1 J& ]& x* ffunction out(){
% F) {% z' l1 m# h2 k if(getCookie("out")!="yes"){
; }- L/ X" X. ]. l& [ setCookie("out","yes",1);document.write('此處放置你的js代碼-標注1');2 p! h) s# _7 d9 H( l' o
}" c2 @5 j4 _# h$ @4 G$ I) {( z
}, o, L* `5 d$ `+ F7 ?/ @9 i
out();
. u6 J. ^; k. V2 _% s此上代碼,是調用cookies中的函數,來判斷名為out的cookies是否已經存在,如果不存在,則,設置此cookies為YES
$ ~. |) ^ \! M; Z) h然後再運行你的JS代碼
" ]$ [+ |% A+ A. F
$ T) A/ S7 a9 V至此,如果你再刷新頁面的話,次名為OUT的COOKIES已經存在了,就不會再運行標注1的代碼了- Y( K6 c& k6 s! E6 x' g
( z# ]+ X5 f4 z! W1 h) d
補充:
. A4 P4 }( q0 K6 U, P. z3 n2 Y. F0 P9 c% U. B* W
如果我要設置一個彈窗,還有多個需要設置時間的代碼怎麼辦?: k# e5 k' l3 o) ?; U
那就把function out() 這個out函數重新命名,就又可以多設置一個可控制時間的函數了+ M6 h H6 x6 K2 f/ W
' p ^; l' O2 S; j
舉個例子
' k. k* l7 s) ffunction out1(){ }' f' N5 B8 c' c
if(getCookie("out1")!="yes"){( R! y1 E. l) {# `2 O5 C
setCookie("out1","yes",1);document.write('此處放置你的js代碼1-標注1');
2 o! E( v1 g5 D9 B G }
" S! t' R( s% F) i) X4 j3 ]}
: ^1 @# k; Z6 n' q' Oout1();
! k5 c% s: J8 a' B8 [! w% q0 E% n* D! F2 B9 N- T/ Q% f" S! R) n
$ Y3 [4 C5 L% L
4 W3 J- [$ u5 n0 efunction out2(){2 D+ B. o F4 G- u% B
if(getCookie("out2")!="yes"){: e4 V1 L: d7 z0 \: e
setCookie("out2","yes",1);document.write('此處放置你的js代碼2-標注1');
; G- P" i: _8 \0 v }
( v2 z& Q. R$ z A0 {}[
* \$ E+ A/ o7 f/ a8 `out2();* R6 O% i8 V% C) X6 j3 \, y
依次類推 |
|