关于cookie并不能无限设置,各个浏览器的存放位置及存放的个数是有限制的且是不同的,每个cookie存放的内容也有限制,存储是以域名形式进行区分的。
- IE6 以及更低版本限制每个域名最多 20 个 cookie。
- IE7 和之后版本每个域名最多 50 个。IE7 最初是支持每个域名最大 20 个 cookie,之后被微软的一个补丁所更新。
- Firefox 限制每个域最多 50 个 cookie。
- Opera 限制每个域最多 30 个 cookie。
- Safari 和 Chrome 对于每个域的 cookie 数量限制没有硬性规定。
大多数浏览器都有大约 4096B(加减 1)的长度限制。为了最佳的浏览器兼容性,最好将整个 cookie 长度限制在 4095B(含 4095)以内
关于用js设置cookie的方法
- cookie设置 : document.cookie = ‘名 =值’;
- 得到 cookie值:document.cookie;
- 设置过期时间:’expires=’ + 一个字符串类型的oDate;
- document.cookie包含了当前域名下的所有cookie;
- 为了在设置cookie时兼容如\n之类的特殊字符,最好使用encodeURI进行编码,然后在读取时使用decodeURI进行解码。
function setCookie(key,value,t){
var oDate = new Date();
value = encodeURI(value);
oDate.setDate(oDate.getDate()+t);
document.cookie = key+'='+value+'expires='+oDate.toGMTString;
}
function getCookie(key){
var arr1 = document.cookie.split(';');
for(var i = 0; i<arr1.length; i++){
arr2 = arr1[i].split('=');
if(arr2[0] == key){
return decodeURI(arr2[1]);
}
}
}
function removeCookie(key){
setCookie(key,'' -1);
}