cookie用于存储数据,当用户访问了某个网站(网页)时,我们就可以通过cookie来向访问者电脑上存储数据
1.不同的浏览器存放的cookie位置不同,也不能通用
2.cookie的存储是以域名的形式进行区分的
3.cookie的数据可以设置和读(设置:document.cookie=‘名字=值‘;读取:document.cookie)
4.一个域名下存放的cookie的个数是有限制的,不同浏览器存放的个数是不一样的
5.每个cookie存放的内容大小也是由限制的,不同浏览器存放大小不一样
我们通过document.cookie来获取当前网站下的cookie时,得到的字符串形式的值,它包含了当前网站下所有的cookie。会把所有的cookie通过一个‘分号+空格’的形式串联起来。
cookie默认是临时存储的,当浏览器关闭进程的时候自动销毁。如果我们想长时间存放一个cookie,需要设置这个cookie时同时给他设置一个过期的时间:expires
内容最好编码存放:encodeURI(‘一些特殊字符:汉字等‘)
读取内容时解码:decodeURI(document.cookie)
eg:
var oDate=new Date();
oDate.setDate(oDate.getDate()+5); //根据来访者的时间动态设置过期事件
document.cookie=‘username=leo‘+encodeURI(‘\你好‘)+‘;expires=‘+oDate.toGMTString(); //将特殊字符编码存放,日期对象转换为字符串格式
document.cookie=‘age=32‘;
alert(decodeURI(document.cookie))
cookie的设置,读取,移除函数的封装:
1.设置
function setCookie(key,value,t){
var oDate=new Date();
oDate.setDate(oDate.getDate()+t);
document.cookie=key+‘=‘+value+‘;expires=‘+oDate.toGMTString();
}
2.读取
function getCookie(key){
var arr1=document.cookie.split(‘; ‘);
for(var i=0;i<arr1.length;i++){
var arr2=arr[i].split(‘=‘);
if(arr2[0]==key){
return decodeURI(arr2[1]);
}
}
}
3.移除
function removeCookie(key){
setCookie(key,‘‘,-1)
}