Cookie不仅仅有名字和值两个属性,还有域(domain),过期时间(expires),路径(path)等属性。 其中,不同的域、不同的路径下可以存在同样名字的cookie。
重点:设置Cookie的代码中要加 路径(path), "; path=/"
设置域名下全局cookie(不区分路径,主要用于保存登录数据,以及全局变量使用)
function setCookie(key, value, iDay) {
var oDate = new Date();
oDate.setDate(oDate.getDate() + iDay);
if ((typeof value) == "object") {
value = JSON.stringify(value)
}
value = encodeURIComponent(value)
document.cookie = key + '=' + value + ';expires=' + oDate + ';path=/';
}
清除域名下全局cookie(不区分路径,主要用于清除退出登录数据,以及清除全局变量使用)
function clearCookie() {
var keys = document.cookie.match(/[^ =;]+(?=\=)/g);
if (keys) {
for (var i = keys.length; i--;) {
//为了删除指定名称的cookie,可以统一将其过期时间设定为一个过去的时间
document.cookie = keys[i] + "=0;path=/;expires=" + new Date(0).toUTCString()
}
}
}
网友评论