cookie存放容量4k左右,可設置過期時間。
1、cookie的封裝使用
//設置cookies
function setCookie(name, value) {
var Days = 30;
var exp = new Date();
exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);
document.cookie = name + "=" + value + ";expires=" + exp.toGMTString()";
}
//讀取cookies
function getCookie(name) {
var arr,
reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
if (arr = document.cookie.match(reg)) {
return arr[2];
}
else {
return null;
}
}
//刪除cookies
function delCookie(name) {
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval = getCookie(name);
if (cval != null)
document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString();
}
//使用舉例
setCookie("REG_GUID","This is set cookie!");
getCookie("REG_GUID");
2、cookie的跨域名使用
簡單說下域名,www.baidu.com是個域名,且是個二級域名(它對應的一級域名為baidu.com)。www.baidu.com與blog.baidu.com(對應的一級域名也是baidu.com)是不同的域名,他們之間相互請求cookie是請求不到的。如果想要跨域請求cookie,需要將這兩個設置成相同域名。即在存儲cookie時使用domain設置域名即可,如下:
//設置cookie,使之能跨域獲取
function setCookie(name, value) {
var Days = 30;
var exp = new Date();
exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);
document.cookie = name + "=" + value + ";expires=" + exp.toGMTString() + "; path=/" + ";domain=.baidu.com";
}

