首先,要把以下代碼存為cookies.js 在htm頁中調用!
5 z8 H) o* d- C7 F P4 n/ l9 j! H. ^8 Z1 |& M
此為JS代碼A:
1 @9 Y$ Z2 K0 {" ~1 W7 ^" d3 L% E
$ m0 }% D$ O" J: I) R* u& f( Qfunction setCookie(name,value,days){
+ O. Z' j2 y6 ~4 A" t( T0 R- b var exp=new Date();( Y' Y, }, t4 F# ?9 |
exp.setTime(exp.getTime() + days*24*60*60*1000);
t, E' \, g2 M* o- X) e var arr=document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
8 P V$ H+ z: a document.cookie=name+"="+escape(value)+";expires="+exp.toGMTString();' H n% C) M. Y' b' ]3 W
}8 f% ^ K) D3 x
function getCookie(name){
+ ?, H7 w# \% \. p D# z var arr=document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
$ R4 ?( u5 V) V# l& Z' ~ if(arr!=null){
- L! F0 i/ B1 k3 P# [& M9 K return unescape(arr[2]);$ ?0 n% J7 I/ r# a4 r& H/ _/ w
return null;' Y* y/ F# z' J, L( N: }& n2 `& v2 D2 n
}$ m) A$ s5 }+ a" }) K1 ~
}1 I6 x, ~. [5 c2 r
function delCookie(name){/ |, C4 M. q: f2 }
var exp=new Date();
7 P4 K4 \! P; H7 P5 h; w. {0 i9 W exp.setTime(exp.getTime()-1);
% t8 M; M% s1 S7 C var cval=getCookie(name);8 }8 b7 ]4 |% W$ Y8 Y
if(cval!=null){8 ~/ \/ P e9 A" v: [- n
document.cookie=name+"="+cval+";expires="+exp.toGMTString();2 i6 w! y' |- W0 s# p1 m: U( A U
}
* g2 I3 I1 r7 x; h% e+ [# q# U. t9 Y}8 t( V9 }$ n3 K2 \$ B
以上代碼就是讀寫cookies的函數,這個你不需要看懂,只要知道怎麼用就行了1 @% P4 t: \# B( N% J
7 n$ s: {* i% }; z
- V+ F5 G. Y- _MJJ們再看如下JS代碼,把這個代碼存為pacth.js 在同一個網頁內調用,注意先調用JS代碼A,再調用JS代碼B
1 h9 g4 D$ G$ R: W<script src="cookies.js"></script><script src="patch.js"></script>0 p* u1 L+ q3 U0 |
注意路徑問題,這個就不多說了
" i' J) D! ~! }$ i
; p( k! ]3 t& U2 @% m此為JS代碼B2 Y( I0 W5 @" G" \7 G
# o" U) t7 d% @- h$ u+ b" ~function out(){9 N9 Y. D; ? n/ l; ~6 W9 g
if(getCookie("out")!="yes"){
! s7 t. k0 S1 @- ]2 {2 f! ?; n setCookie("out","yes",1);document.write('此處放置你的js代碼-標注1');
, T$ n" L! L' F2 Z+ q+ R5 W4 \; V }
& ^$ J3 L P. x' C}0 g' }% U/ i) D
out();- U, \5 q1 g3 W: z% N7 h& s2 L
此上代碼,是調用cookies中的函數,來判斷名為out的cookies是否已經存在,如果不存在,則,設置此cookies為YES2 ^' }. c9 U/ F9 S2 L' _2 I
然後再運行你的JS代碼; f x; H" L4 O+ G4 f( M: v
; @. n/ S |; a$ a- V; w
至此,如果你再刷新頁面的話,次名為OUT的COOKIES已經存在了,就不會再運行標注1的代碼了( N( P( h4 ]2 {. K$ f9 z
8 |6 d) X+ K" `. j& N! ~; Z9 E補充:4 {% ]3 H) E, j7 k$ v
- o) |. j' T. |2 F9 ~- Z' ?, S$ Z6 t如果我要設置一個彈窗,還有多個需要設置時間的代碼怎麼辦?' P" ]' c1 }2 H; m E3 S$ Y
那就把function out() 這個out函數重新命名,就又可以多設置一個可控制時間的函數了5 t4 A* b4 u2 N) k; f2 u- y
& w4 f1 U5 Z- g4 q舉個例子
* f! `$ i# y. H: R- B" k7 J' tfunction out1(){
" g7 d2 ]3 z9 N9 R if(getCookie("out1")!="yes"){
2 E$ N! A# O7 ~# }0 p( ~& I- B setCookie("out1","yes",1);document.write('此處放置你的js代碼1-標注1');2 b7 \% J% S7 v2 ?0 z0 T& c r
}
+ j1 u/ | k" ]- I0 k}" ~; I% J3 i8 O/ l/ N
out1();
# Q. C" h$ T3 b: _
( H( P% o/ P, ?0 _& S( W8 R: N& g- F
+ l: i/ e1 j: g, b9 F: J3 Z: Y3 d' m/ d
function out2(){3 ]: R- `0 o# F! L. `# L
if(getCookie("out2")!="yes"){! |+ E$ {' D; S4 F6 z
setCookie("out2","yes",1);document.write('此處放置你的js代碼2-標注1');& K( U0 N. o$ n; V# U& j! A; ?
}% ]* s, h' I) R3 u8 ]8 s2 D
}[6 H* |: W e( t5 @$ l
out2();6 G e$ N6 V8 ]1 m f$ F+ G
依次類推 |
|