cookie的作用是存储数据,当用户访问网站时,将一些数据存储在用户电脑上.
1.不同浏览器cookie位置不一样
2.同一浏览器不同的网站有不同的cookie,甚至同一网站也存在多个cookie. 所以首先cookie存储是以域名进行区分的,其次每一个cookie可以单独设置名字.
通过document.cookie获取当前网站的cookie,得到的是字符串,包含当前网站所有的cookie.通过";"+"空格"串联起来.
3.一个域名下的cookie数目有限,并且每个cookie存放内容大小也有限,不同的浏览器对数目的限制不一样.
4.但若想永久存放cookie也是可以的,设置一个过期时间就好了,不设置的话cookie默认是临时存储,当浏览器关闭时就销毁
5.cookie的内容最好编码存放,因为像中文字符这种特殊字符会出现乱码.encodeURI编码,decodeURI解码
下面举实例:
function setCookie(key,value,t){ 设置一个实现长期保存cookie的函数
var oDate=new Date(); 获取当前日期
oDate.setDate(oDate.getDate()+t); 设置日期为当前日期+某个数字t(设定几天后失效)
document.cookie=key+"="+value+";expire="+oDate.toGMTstring(); cookie数据采用json格式
}
上述函数实现setCookie(key,value,t)就输出字符串key+"="+value+";expire="+oDate.toGMTstring(),并且在设定好的过期日期以后才失效.
function getCookie(key){ 设置获取cookie的函数
var arr1=document.cookie.split(";"); split和数组里是一样的用法,以";"分隔
for(var i=0;i<arr1.length;i++){
var arr2=arr1[i].split("="); 因为获取的时候会获取所有cookie,所以要分隔
if(arr2[0]==key){
return decodeURI(arr2[i]); 解码文字部分
}
}
}
下面是移除cookie的函数
function removeCookie(key){
setCookie(key," ",-1); 小技巧,设置当前日期的-1天也就是昨天失效,自然就移除了cookie.
}