首先,要把以下代碼存為cookies.js 在htm頁中調用!3 C2 d) I [$ q; {! f- I
$ R2 l/ L" |6 I: s此為JS代碼A: v8 ]. E, k, Q
: M$ M5 I$ |5 ]5 _; w- @
function setCookie(name,value,days){
' {; {* K. n4 B( p$ ] var exp=new Date();
8 U3 W5 {$ B; j3 \4 \ exp.setTime(exp.getTime() + days*24*60*60*1000);- d0 p; e# k! k/ R# f
var arr=document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
! ]6 Y/ z8 y' O- E4 K document.cookie=name+"="+escape(value)+";expires="+exp.toGMTString();
' C4 r9 M; M. L3 P0 N" |- m}' u: J# N! y8 N: R+ q/ d
function getCookie(name){
+ J5 d7 @4 U/ m8 A# ~ var arr=document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));1 f: Z8 z) K+ Q& A$ i8 d# F
if(arr!=null){
. X0 a7 Y- _) V3 `0 \# S) o return unescape(arr[2]);
$ A) g0 X' w4 @* j/ t2 [8 ~ return null;6 U. D! {4 y6 p3 J1 i# M" H
}
* f2 |* o* c e: E( a; @}/ A& [9 e& t$ O, @. s. P
function delCookie(name){
8 Y0 n& k/ A. n8 w) ?4 f5 z3 f, g var exp=new Date();. z! a& [: C# e4 O
exp.setTime(exp.getTime()-1);
3 b4 j& \: N" z2 E# j" @* \/ o0 R var cval=getCookie(name);
4 v" e- r7 v+ y( E3 r- x5 K if(cval!=null){7 G* ?( B F' s' t: U
document.cookie=name+"="+cval+";expires="+exp.toGMTString();, ~& I% w0 |) u% Y
}
j8 S5 h) j6 B: D! T2 h: ^}
7 D6 M- j5 Q$ M8 k5 q$ v4 g( w以上代碼就是讀寫cookies的函數,這個你不需要看懂,只要知道怎麼用就行了
* A, \: ]3 \# g; e
) L! q- ~* T: A+ b' ^- Q/ ~
1 S* H( ~: i. S' c0 ]! C; _MJJ們再看如下JS代碼,把這個代碼存為pacth.js 在同一個網頁內調用,注意先調用JS代碼A,再調用JS代碼B
+ z* I; `' e5 r/ O, M<script src="cookies.js"></script><script src="patch.js"></script>
: u# e% Q: E4 O9 U( [注意路徑問題,這個就不多說了
6 B7 L% ~2 w# E0 o/ u3 u
2 m, b- |4 Q0 t! e! L/ i. b此為JS代碼B
3 I" k& x9 w1 @( u+ ^* `. W- i2 Q9 y, S# c$ ]& O, J' t
function out(){
# k- b; d, ^% k5 d if(getCookie("out")!="yes"){
- a4 o8 q: h( S, p5 |% O setCookie("out","yes",1);document.write('此處放置你的js代碼-標注1');. V1 t; ^' G1 O5 l/ ~; q
}
2 A$ l; @7 }3 y- P0 T}
* ]; W0 _- q, A- @3 v, r' D& W Iout();6 e1 P9 h9 w) a( X# t/ C. j; n
此上代碼,是調用cookies中的函數,來判斷名為out的cookies是否已經存在,如果不存在,則,設置此cookies為YES7 N3 W- I, W: _/ ]% M! c
然後再運行你的JS代碼
9 k2 w1 u I6 x$ `
% T/ m* V% G: Q! ?+ R/ D至此,如果你再刷新頁面的話,次名為OUT的COOKIES已經存在了,就不會再運行標注1的代碼了
0 w1 X. z) f' C/ Q4 W, O
( ?7 R( z; E, Z" O* ]補充:$ y. n4 t' `6 l
0 Q3 l3 L$ b+ X3 L5 @' [
如果我要設置一個彈窗,還有多個需要設置時間的代碼怎麼辦?
' f: X5 e/ W% t! d) V' v& }, L" M那就把function out() 這個out函數重新命名,就又可以多設置一個可控制時間的函數了- v. B3 Z0 L. L: k3 @
. x' u2 o7 ^% ^舉個例子 9 _7 P+ O" }% d: g/ C$ E
function out1(){& t, u& f) I! b, g# B3 _: d# D
if(getCookie("out1")!="yes"){
3 V1 O Q1 j5 E. [" x2 ^: Z: @$ t setCookie("out1","yes",1);document.write('此處放置你的js代碼1-標注1');, u4 p7 k5 E: O- ^8 ^7 g
}
1 X" G4 @! @ x9 s8 F$ J5 A}+ @$ ]/ F' v- M* B
out1();) c* Q/ C7 E3 {1 D0 `4 g
8 X# g% A& O. Y9 o) @3 _; [# p: d, X/ L* {. Q. \0 j0 V& D- D0 ~9 f
$ v* Y! q! r' A2 N+ `$ T3 [2 x3 d6 pfunction out2(){- \, s- R$ N. K! r+ G" x0 k6 y
if(getCookie("out2")!="yes"){
2 E1 m: [4 l3 ~8 V) } setCookie("out2","yes",1);document.write('此處放置你的js代碼2-標注1');
& C) T4 j4 Q r2 z }
& }% b. R" u) Z" k9 Q9 ]- U/ }}[
! R% w4 f/ [5 ~1 Y+ l' P F: I8 Zout2();
# X i9 B: c7 ], o$ p6 l4 e依次類推 |
|