首先,要把以下代碼存為cookies.js 在htm頁中調用!# z1 c6 N6 v; F5 ~$ i) t. m0 m
% h- F4 y! Z) S, K, r此為JS代碼A:
$ D) J4 x& r- i; U+ f
( C2 t0 L% I1 W2 \9 J' mfunction setCookie(name,value,days){3 }7 W7 z, Y: m0 x
var exp=new Date();
3 F7 x8 p+ a5 ~6 d exp.setTime(exp.getTime() + days*24*60*60*1000);
" h9 z/ \% m) H var arr=document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));7 A! d {& s6 |/ t6 y" d6 G+ J
document.cookie=name+"="+escape(value)+";expires="+exp.toGMTString();1 ?3 o' J* ~! s
}# D* p! d5 R. H1 U* |
function getCookie(name){
( l" m8 I% o& p! D: x$ b. U' R var arr=document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
0 g) L5 D8 d1 K5 u if(arr!=null){- `$ q' l5 r+ C0 S8 [) u
return unescape(arr[2]);
: V; H4 ]) f- ?8 ~& ] return null;
0 m3 ]* u* ~* g }
. i% `. E; C& Z! d' ^) _: @}
& q: N, B' m8 Lfunction delCookie(name){% G+ j2 \- Y2 a3 \0 y
var exp=new Date();/ y t% o) Q- k+ {5 G4 |- s! U
exp.setTime(exp.getTime()-1);
3 T* e& h! w/ `) q* t var cval=getCookie(name);
- S2 u G4 n+ V" B% {3 f if(cval!=null){
, M; r8 W; P& I5 {& ^% i' ^ document.cookie=name+"="+cval+";expires="+exp.toGMTString();% r' V5 p/ t0 a c2 I
}$ R% W8 r# W1 d) ~' O8 G( z
}
& O& i3 t4 c$ X3 n以上代碼就是讀寫cookies的函數,這個你不需要看懂,只要知道怎麼用就行了6 K) J6 G; e: `$ X4 ]- V9 a4 s
2 k. \/ ]' l( x F4 u3 ]9 q
$ [( h8 H1 N0 w2 V6 QMJJ們再看如下JS代碼,把這個代碼存為pacth.js 在同一個網頁內調用,注意先調用JS代碼A,再調用JS代碼B% @5 m6 o* S% T/ S. L7 [4 `& L1 @% Z6 T
<script src="cookies.js"></script><script src="patch.js"></script>
. Y8 p% m% A( L; m4 E注意路徑問題,這個就不多說了8 E5 `8 e: N6 g; G
- E; K; [0 [* x此為JS代碼B Z( W/ p% {( }5 k; R
* m# w& a) D8 o. h" g" Sfunction out(){
; T' N" u: U/ a if(getCookie("out")!="yes"){- ~4 X7 k9 m2 ~ x- j
setCookie("out","yes",1);document.write('此處放置你的js代碼-標注1');& u, A/ O& h$ l! I* w. q' I+ v
}
1 t5 f$ w* a* `}/ r( i1 D& Y8 w: G
out();- ^2 B; E! T% s$ T
此上代碼,是調用cookies中的函數,來判斷名為out的cookies是否已經存在,如果不存在,則,設置此cookies為YES
/ _9 C% |9 _# u' d) h7 T- D然後再運行你的JS代碼
* ]1 c7 `1 J& h/ |" C7 j. \0 _) n& K. Z# u7 @
至此,如果你再刷新頁面的話,次名為OUT的COOKIES已經存在了,就不會再運行標注1的代碼了6 ]0 H* Q5 p4 K+ l {" x( f# `% L2 x
2 M, D# ~# \ p" E$ v* j r3 Q( q補充:* W3 L7 ?8 x5 A$ S" u- e
' g4 e; a# n. i4 O* [1 @$ K
如果我要設置一個彈窗,還有多個需要設置時間的代碼怎麼辦?4 y: Z' B0 _9 C( h7 O$ k7 s$ u
那就把function out() 這個out函數重新命名,就又可以多設置一個可控制時間的函數了
3 E. x1 m3 a3 m: ]8 z , e& X" e5 W( [1 y0 i
舉個例子 3 }- H% x/ A* `* J. b5 Q
function out1(){
3 Z& y; V0 B Q0 T4 O+ M if(getCookie("out1")!="yes"){& }( E, M, [+ ~. x$ q" i8 ]" t
setCookie("out1","yes",1);document.write('此處放置你的js代碼1-標注1');% ~8 I" ?* K3 \( p* t# J9 ^* S ^, L6 L
}2 N2 P7 K" ~5 k4 _7 G% r+ H2 b
}
# @, q: m& i) G! M/ dout1();
4 X, J3 p" Q( f3 {, ?# C9 f: F) z! T* {
5 m. j5 ^2 Q% p
$ t* W3 M8 @' @) L4 _4 E0 |
function out2(){
3 H: ]2 z" Q; J if(getCookie("out2")!="yes"){1 m" j l+ b& ~, w
setCookie("out2","yes",1);document.write('此處放置你的js代碼2-標注1');6 H3 I1 K8 d* I& p5 m) j
}
5 k3 p F0 s4 v: H4 F/ v}[
% g6 d/ D9 J/ C3 n# |/ ^: ~out2();5 C, t, O( J% i* a; m
依次類推 |
|