cookie用来保存页面信息,比如自动登录,记住用户名等。
cookie特性:
同一个网站所有页面共享一套cookie。
cookie的数量大小有限。
有过期时间。不安全。
1、设置cookie。
cookie的格式:
名字=值
document.cookie="name=admin";
特点:不会覆盖
如果再写一条语句,document.cookie="password=12344";
弹出document.cookie,会发现弹出的是"name=admin; password=12344",有别于其他等号赋值。
设置过期时间
expires=时间
需要清楚日期对象的使用,new Date()对象,得到现在时间,再加上cookie保存时间,计算出保存截止日期。
function setCookie(name,value,iDay){
var oDate=new Date();
oDate.setDate(oDate.getDate()+iDay);
document.cookie=name+'='+value+';expires='+oDate;
}
测试,通过看页面详细信息的cookie可以看到保存的信息。
2、读取cookie。
读取的cookie是一串字符串,大概是"name=admin; password=12344;..."的格式。
所以需要将字符串以'; '为分隔符分割成数组。
字符串分割
cookie.split('; ')函数分割成数组,保存在arr中,
则arr1[0]->"name=admin"
我们希望通过名称找到对应的值,所以需要继续拆分,以‘=’为分隔符,则每个arr1[i]都可以分割成长度为2的数组arr2,
arr[0]为名称,arr[1]为值,循环比较查找出对应的value。
function getCookie(name){
var cookie=document.cookie.split('; ');
for(var i=0;i<cookie.length;i++){
var a=cookie[i].split('=');
if(a[0]==name){
return a[1];
}
}
return '';
}
3、清除cookie
将cookie的时间设成过期即可。管用的小办法~
function remove(name){
setCookie(name,'1','-1');
}