js cookie

时间:2023-03-08 16:20:21

cookie:
cookis:储存数据,当用户访问了某个网站的时候,我们就可以通过cookie来向访问者电脑上储存数据
1)不同浏览器的存放cookie位置不一样,也是不能通用的
2)cookie的存储是以域名的形式存放,不同域名存放的文件夹不一样
3)cookie的数据可以设置名字
4)一个域名下存放的cookie个数是有限的,不同的浏览器存放的数量不一样
5)每个cookie存放的内容大小是有限的,不同浏览器存放大小不一样

我们通过document.cookie来获取当前网站下的cookie的时候他会把所有的cookie通过一个分号+空格的形式串联起来

如果我们想设置一个长期的cookie,要设置过期的时间
如何设置
var oDate=new Date();

//oDate.setDate(7);//设置为当月的7号
oDate.setDate(oDate.getDate()+5);//获取当前时间加上5,便是不会过期了
注意:日期是一个对象,所以要转成字符串
oDate.toGMTString();//转换成字符串

//内容编码存放encodeURI('nihao')
//decodeURI() 解码
//cookie默认是临时存储的 当浏览器关闭时cookie就会被清除

document.cookie='mingcheng=encodeURI(zhi);expires='+日期对象的字符串;
// document.cookie='mingzi=zhi'; 可读可写

//setDate() 设置一个月的某一天
//getDate() 获取一个月的某一天
//toGMTstring() 将时间转换为字符串
设置cookie:

function setCookie(key, value,t){
var oDate=new Date();
oDate.setDate(oDate.getDate()+t);
document.cookie=key+'='+value+';expires='+oDate.toGMTString();
}

读取cookie:

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 docodeURI(arr2[1]);
}
}
}

删除cookie:
function removeCookies(key){
setCookie(key,'',-1);
}