浏览器对于能够保存的cookie数量有所限制,通常是几百个或者多一点。
一般情况下,每个域名20个cookie是允许的,而每个域最多能保存4KB的cookie。
document.cookie
每个cookie基本上就是一个由成对的名称和值组成的字符串,像:
suername=sam
每个cookie是以分号分隔的:
suername=sam;location=USA;status=fullmember;
编写cookie
document.cookie="username=sam;expires=15/16/2013 00:00:00";
使用JavaScript的Date对象可以避免手工输入日期和时间格式:
var cookieDate = new Date (2013, 05, 15);
document.cookie = "username=sam;expires=" + cookieDate.toUTCString();
在实际编码的时候应该用escape()函数来确保cookie赋值时不会有非法字符:
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
只需要把她失效日期设置成今天以前的日期,浏览器就会认为它已经失效了,从而删除它。
function deleteCookie(name) {
createCookie(name, " ", -1);
}