javascript操作cookie函数写法

作者mazerain 文章分类 分类:未分类 文章评论 0条评论 阅读次数 已被围观 1050

以前应该都是用PHP操作Cookie,或用JQ的插件-jQuery.cookie。今天写个简单的页面,想着直接用JS操作一下,现在记录下方法。

实现的功能是:

1、先检测该Cookice是否存在,如果不存在则执行一个自定义函数。

2、执行完自定义函数后,写入Cookice,周期有24小时。

代码如下:


var strCookie=document.cookie;
//将多cookie切割为多个名/值对
var arrCookie=strCookie.split("; ");
var qq;
//遍历cookie数组,处理每个cookie对
for(var i=0;i<arrCookie.length;i++){
  var arr=arrCookie[i].split("=");
  //找到名称为userId的cookie,并返回它的值
  if("qq"==arr[0]){
    qq=arr[1];
  break;
	}
}
if(qq!=1){
  setTimeout("qqtc()",30000);
  //获取当前时间
  var date=new Date();
  var expiresDays=1;
  //将date设置为1天以后的时间
  date.setTime(date.getTime()+expiresDays*24*3600*1000);
  document.cookie="qq=1; expires="+date.toGMTString();
}


再来个定义好的函数版本:


//设置Cookice,方法为setCookice("qq",1,1)
function setCookie(name, value, iDay) {
    var oDate = new Date();
    oDate.setDate(oDate.getDate() + iDay);
    document.cookie = name+'='+value+';expires='+oDate+';path=/';
}
//获取Cookice,方法为getCookie("qq")
function getCookie(name) {
    var arr = document.cookie.split('; ');
    var i = 0;
    for(i=0; i<arr.length; i++) {
        var arr2 = arr[i].split('=');
        if(arr2[0] == name) {return arr2[1];}
    }
    return '';
}
//删除Cookice,方法为removeCookie("qq")
function removeCookie(name) {
    setCookie(name,'',-1);
}


分类:未分类
标签: JavaScript cookie

发表评论: