js删除cookie不成功

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js删除cookie不成功相关的知识,希望对你有一定的参考价值。

最近在做一个项目,js删除cookie老是不成功,最后发现是没有指定cookie的域

js删除cookie其实是改变cookie的过期时间,将cookie的过期时间设置为过去,以下几项是必须要指定的

1.cookie名

2.cookie值

3.cookie过期时间

4.cookie域

5.cookie路径

以上几项缺一不可,必须都要有才能修改cookie

具体代码如下:

 1 /**设置cookie
 2      * @param {cookie名}
 3      * @param {cookie值}
 4      * @param {设置cookie域}
 5      * @param {过期时间(天)} [varname]
 6      */
 7     function setCookie(name, value, domain, day) {
 8         var date = new Date();
 9 
10         date.setTime(date.getTime()+1000*60*60*24*day);
11         document.cookie = name+‘=‘+value+‘;expires=‘+date+‘;domain=‘+domain+‘;path=/‘;
12     }
13 
14     /**
15      * 获取cookie
16      * @return {[type]} [description]
17      */
18     function getCookie(name) {
19         var data = document.cookie.split(‘;‘),
20             param = {};
21         for (var i = 0; i < data.length; i++) {
22             param[data[i].split(‘=‘)[0].replace(/\\s/,‘‘)] = data[i].split(‘=‘)[1];
23         }
24         return param[name];
25     }
26 
27     /**
28      * 删除cookie
29      * name: 删除cookie名
30      * domain: 所在的域
31      */
32     function delCookie(name, domain) {
33         document.cookie = name+‘=‘+getCookie(name)+‘;expires=‘+(new Date(1))+‘;domain=‘+domain+‘;path=/‘;
34     }

 比如现在我要删除_uij这个cookie,我从chrome开发者工具,application面板cookie选项查看以下该cookie的domain为.renren.com(注意renren前面有个.)

技术分享

delCookie(‘_uij‘, ‘.renren.com‘);

就可以删除了

以上是关于js删除cookie不成功的主要内容,如果未能解决你的问题,请参考以下文章

Js操作cookie的代码 要求:js对cookie设置,添加,删除 js代码简单点 ··偶JS不太好

js代码片段: utils/lcoalStorage/cookie

JS设置cookie读取cookie删除cookie(转)

Nextjs:删除cookie时组件不更新DOM,但添加cookie时更新

JS设置cookie读取cookie删除cookie

jquery.cookie.js插件删除不掉cookie的问题