首先,要把以下代碼存為cookies.js 在htm頁中調用!
1 s. Q) f2 v n: o
. S' F% N6 S, r+ w: v此為JS代碼A:
, |$ G. l) m: i1 f. G3 T- g8 {
, E6 E: I% g+ b& m& \: ifunction setCookie(name,value,days){) {" H" Y, R; W9 [8 l' l
var exp=new Date();
- \8 ]4 c8 P' G& k exp.setTime(exp.getTime() + days*24*60*60*1000);
9 R+ M2 Y# x/ r9 X2 l var arr=document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));" V) G$ h8 j7 i; j) U3 P
document.cookie=name+"="+escape(value)+";expires="+exp.toGMTString(); r6 Y8 Z" Q* ~
}" u4 W- W0 u: h) y
function getCookie(name){ J& j) @, `' e7 q
var arr=document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));# x& h( q7 q( c2 s' f
if(arr!=null){0 c. ~6 Y& m7 m: \! k( h) k- n
return unescape(arr[2]);
U T/ c7 J7 d( p return null;8 ]& _/ S* G& ~+ O4 d; u) m
}/ h: ?- b$ A) C% {0 T2 i
}. a% y t4 g) b) H9 |5 D
function delCookie(name){
. Y4 O5 S& R1 n var exp=new Date();. Q1 [- a0 ^- ^# _# h, \
exp.setTime(exp.getTime()-1);
$ q0 m9 R4 w1 [" \/ \8 S var cval=getCookie(name);* n6 o4 P: }9 [. K' R8 f6 w' F5 d+ C
if(cval!=null){
- `3 P" N6 m* U# y document.cookie=name+"="+cval+";expires="+exp.toGMTString();
0 L/ ]* e9 O, x' @5 t" t }
6 |2 e' H( F9 x: f, i) _. s6 C}# ^" G; }' R& Q2 i
以上代碼就是讀寫cookies的函數,這個你不需要看懂,只要知道怎麼用就行了) H) H( O- N& L& Z: D3 V% X
4 p+ s" U+ u$ Y; ~
5 x/ L, I1 w$ e' ?3 @4 k
MJJ們再看如下JS代碼,把這個代碼存為pacth.js 在同一個網頁內調用,注意先調用JS代碼A,再調用JS代碼B
" S( X; R" J- M' v<script src="cookies.js"></script><script src="patch.js"></script>
2 q$ p2 @- i+ N+ V+ y" {* u/ p. H注意路徑問題,這個就不多說了 I7 S4 N& H# `/ p$ v/ N& j
% X* g% b6 N: k4 V8 E' X+ I
此為JS代碼B3 P& n1 K0 X# a/ r# F
0 h1 g+ R# f( d# m
function out(){
: Y, }: x0 {) W! P; ^/ H. |# m; d if(getCookie("out")!="yes"){1 r$ s0 R7 C3 O# M% g4 c
setCookie("out","yes",1);document.write('此處放置你的js代碼-標注1');# F" G9 T# m% X
}, a! h3 t) g, `9 f+ I/ i3 J. }
}. Y, P0 V4 R! V- x4 F
out();
) c( T7 _! h% P7 E6 ]此上代碼,是調用cookies中的函數,來判斷名為out的cookies是否已經存在,如果不存在,則,設置此cookies為YES
0 R+ ~& s- R6 q! E+ i- ?1 d$ B然後再運行你的JS代碼
( W. u: |& O r8 X8 B) A6 w0 }9 y! d1 ~. N! b6 P
至此,如果你再刷新頁面的話,次名為OUT的COOKIES已經存在了,就不會再運行標注1的代碼了7 J2 Q& g8 o* G/ c
' t E& T2 s7 d$ r
補充:
* n5 u6 y: e1 e1 Z, @) m# s
6 h( p1 g; k: I' q, Z+ u如果我要設置一個彈窗,還有多個需要設置時間的代碼怎麼辦?
4 }$ d* [8 s1 L) o% v那就把function out() 這個out函數重新命名,就又可以多設置一個可控制時間的函數了
4 W G9 C- l! M7 b2 q! Q
, \, G( N, d+ Q9 a+ S# I' t舉個例子
+ E/ E L( J3 hfunction out1(){+ t+ u/ i/ c8 ^! S
if(getCookie("out1")!="yes"){
8 Y' h: ?+ j' v5 E8 @) C9 M' d8 E- y setCookie("out1","yes",1);document.write('此處放置你的js代碼1-標注1');
9 F1 q- @, T% f R }
+ y5 [2 N' O) U! P0 }4 @$ C/ U# Q}
. S9 L/ Y9 j* \" V: E6 qout1();/ T$ c. z6 w' w7 C. C' B3 @9 g
0 ]( Z8 }* P* B# y
; j$ t& l- {" C0 M) {' y9 }
* a8 f8 [- P% w
function out2(){+ ]: I/ L( l% |1 G. Y$ U- g
if(getCookie("out2")!="yes"){
( M- S; e! I) k5 U setCookie("out2","yes",1);document.write('此處放置你的js代碼2-標注1');- ~3 b9 E! V: w
}2 { h* `2 b4 s, d; z. |
}[
" T1 l$ j# h. L" P/ b& oout2();
: }3 n% v3 U: O$ x依次類推 |
|