瀏覽器對(duì)于能夠保存的cookie數(shù)量有所限制,通常是幾百個(gè)或者多一點(diǎn)。
一般情況下,每個(gè)域名20個(gè)cookie是允許的,而每個(gè)域最多能保存4KB的cookie。
document.cookie
每個(gè)cookie基本上就是一個(gè)由成對(duì)的名稱(chēng)和值組成的字符串,像:
suername=sam
每個(gè)cookie是以分號(hào)分隔的:
suername=sam;location=USA;status=fullmember;
編寫(xiě)cookie
document.cookie="username=sam;expires=15/16/2013 00:00:00";
使用JavaScript的Date對(duì)象可以避免手工輸入日期和時(shí)間格式:
var cookieDate = new Date (2013, 05, 15);
document.cookie = "username=sam;expires=" + cookieDate.toUTCString();
在實(shí)際編碼的時(shí)候應(yīng)該用escape()函數(shù)來(lái)確保cookie賦值時(shí)不會(huì)有非法字符:
var cookieDate = new Date (2013, 05, 15);
var user = "Sam Jones";
document.cookie = "username=" + escape(user) + ";expires=" + cookieDate.toUTCString();
讀取cookie
function getCookie(name) {
var nameEquals = name + "=";
var crumbs = document.cookie.split(";");
for(var i = 0; i < crumbs.length; i++) {
var crumb = crumbs[i];
if (crumb,indexOf(nameEquals) == 0) {
return unescape(crumb.substring(nameEquals.length,crumbs.length));
}
}
return null;
}
刪除cookie
只需要把她失效日期設(shè)置成今天以前的日期,瀏覽器就會(huì)認(rèn)為它已經(jīng)失效了,從而刪除它。
function deleteCookie(name) {
createCookie(name, " ", -1);
}