什么是Cookie
页面用来保存用户特定信息 比如:自动登录、记住用户名等
Cookie的特征
同一个网站中所以页面共享一套Cookie数量、大小有限
IE6.0IE 7.0 8.0OperaFire FoxSafariChrome
Cookie个数每个域名下20个每个域名下50个每个域名30个每个域名50个没有限制每个域名53个Cookie大小4095字节4095字节4096字节4097字节4097字节4097字节
有过期时间 Cookie在生成时就会被指定一个Expire值,这就是Cookie的生存周期,在这个周期内Cookie有效,超出周期Cookie就会被清除。有些页面将Cookie的生存周期设置为“0”或负值,这样在关闭浏览器时,就马上清除Cookie,不会记录用户信息,更加安全。
Cookie满足同源策略 虽然网站images.google.com与网站www.google.com同属于Google,但是域名不一样,二者同样不能互相操作彼此的Cookie。 问题来了 举个例子: 访问玩zhidao.baidu.com 再访问wenku.baidu.com还需要重新登陆百度账号吗? 解决办法: 设置document.domain = ‘baidu.com’; 让页面属于这个基础域名下(那么此页面和任何二级域名为baidu.com的)
Cookie的封装
function setCookie(key
, value
, iDay
) {
var oDate
= new Date();
oDate
.setDate(oDate
.getDate() + iDay
);
document
.cookie
= key
+ '=' + value
+ ';expires=' + oDate
;
}
function removeCookie(key
) {
setCookie(key
, '', -1);
}
function getCookie(key
) {
var cookieArr
= document
.cookie
.split('; ');
for(var i
= 0; i
< cookieArr
.length
; i
++) {
var arr
= cookieArr
[i
].split('=');
if(arr
[0] === key
) {
return arr
[1];
}
}
return false;
}