欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

js cookie的添加、获取、删除

程序员文章站 2024-03-17 20:08:04
...

cookie的添加、获取、删除在js中比较常用,方法也比较常规。

cookie的添加

/*
   功能:保存cookies函数 
   参数:name,cookie名字;value值
*/
function SetCookie(name, value) {
    var Days = 1;  //cookie 将被保存一天
    var exp = new Date(); //获得当前时间
    exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000); //换成毫秒
    document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();
}

cookie的获取

/*
功能:获取cookies函数 
参数:name,cookie名字
*/
function getCookie(name) {
    var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
    if (arr != null) {
        return unescape(arr[2]);
    } else {
        return null;
    }
}

cookie的删除

/*
  功能:删除cookies函数 
  参数:name,cookie名字
*/
function delCookie(name) {
    var exp = new Date(); //当前时间
    exp.setTime(exp.getTime() - 1 * 24 * 60 * 60 * 1000);
    var cval = getCookie(name);
    if (cval != null) document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString();
}

下面重点说下删除,用上述方法删除cookie的时候会出现删不掉的情况。如下图所示,使用谷歌浏览器打开cookie列表,选中某一个cookie后会显示cookie的相关参数。有一个参数是路径(path),有些cookie之所以删不掉是因为没有指定path参数。

js cookie的添加、获取、删除

cookie的删除 

/*
  功能:删除cookies函数 
  参数:name,cookie名字
*/
function delCookie(name) {
    var exp = new Date(); //当前时间
    exp.setTime(exp.getTime() - 1 * 24 * 60 * 60 * 1000);
    var cval = getCookie(name);
    if (cval != null) document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString() + ";path=/xxx";
}

指定了path参数, cookie就可以正常删除了。

 

 

 

上一篇: idea常用快捷键

下一篇: