今天完成了网站的cookie的操作。功能是如果用户没有会员登陆那么添加的网址就保证到cookie里面,也就是本地保存。
关于cookie本身就是一患字符组成的,所以存取cookie都是字符的操作。
创建一个本站的cookie:
var exdate=new Date()
exdate.setDate(exdate.getDate()+9999)
document.cookie=name+”=”+encodeURI(url)+”;expires=”+exdate.toGMTString()+”;domain=.xiaoxinbsu.com”;
这里因为是保存网址,所以时间上是越长越好,我就干脆用了个9999天 。蓝狮注册encodeURL这个方法的意思是转换URL的编码。
因为在cookie里会url会发生转义。domain这个是代表主机头的意思。有了这个在本站是全放行的。
取出网址的cookie,由于cookie中不一定全是你存的东西也有别的会用到。所以这里要做一个正则筛选,
//返回cookie中的网址
function getCookie() {
var cookies=document.cookie.split(“; “);//一个分号加一个空格
if (!cookies.length) {return “”;}
var array=new Array();
var pair=[“”,””];var nub=0;
for (var i=0;i<cookies.length;i++) {
pair = cookies[i].split(“=”);//以赋值号分隔,第一位是Cookie名,第二位是Cookie
var strRegex =”[a-zA-z]+://[^s]*”;
var patt1=new RegExp(strRegex);
if (patt1.test(encodeURI(pair[1]))){ //encodeURL 是cookie的编码转换
array[nub]=new Array();
for(var j=0;j<pair.length;j++)
array[nub][j]=pair[j];
nub++;
}
}
return array;
}
上面这个方法很简单,最后就是返回一个包括所有网址的数组。
删除cookie 在cookie中没有删除这个操作,那么要让一个cookie蓝狮注册开户删除就只能通过让这个cookie过期就可以。
var exdate=new Date()
exdate.setDate(exdate.getDate()-99999)
document.cookie=arr[i][0]+”=”+encodeURI(arr[i][1])+”;expires=”+exdate.toGMTString()+”;domain=.jxlt10010.com”;
//删除cookie 过期
标签:cookie, js
0 Comments