js无法删除浏览器Cookie

不知道能不能解决你的问题,但是我来说说我的经历,昨天在用Yii做项目是删除js 的cookie是遇到了问题在一个页面生成的cookie时只能

在同一个页面删掉,在另一个页面死活删不掉,凭着哥执着的性格,哥折腾到12点,结果还是没解决,坑爹啊!!后来我看到下面这篇文章

后http://www.cnblogs.com/gossip/archive/2011/12/06/2278282.html,才知道原来是cookie路径的问题,然后通过火狐自带的查看

cookie功能<选项—–隐私——删除个人cookie——在搜索框中输入cookie的名字,在下方你可以看到路径>查看到无法删掉的那个

cookie文件的路径,然后在删除cookie时将cookie的路径加了进去果然删除掉了。

但是,正当我沾沾自喜时,准备换个浏览器试下,坑姐夫呢!这是!!!,360极速浏览器怎么还是删不掉cookie,蛋疼啊!最后通过360极

速浏览器自带的查看cookie功能<选项—–高级设置——网页内容—–内容设置——cookie—所有cookie和网页数据——输入你

的域名(我的是localhost),你就可以看到你的cookie了>发现他设置的cookie路径和火狐不同,最后改了改删除cookie的函数,终于两个浏

览器都可以删除了,噩梦终于结束了。附上我删除cookie的函数最终版!虽然不太严谨     function deleteMyCookie2(name) {  

var date = new Date();

     date.setTime(date.getTime()-10000); //删除一个cookie,就是将其过期时间设定为一个过去的时间

     document.cookie = name + “= ‘ ‘ ” + “; expires=” + date.toUTCString()+”;path=”+”火狐上显示的cookie路径”;

     document.cookie = name + “= ‘ ‘ ” + “; expires=” + date.toUTCString()+”;path=”+”ie和360上显示的cookie路径”;

 

 }

这个函数之所以可以成功解决ie、360极速、火狐的兼容,是因为蓝色字体的每一句对不同的浏览器来说都是正确的,且由于路径不同的

cookie尽管名字相同但是不会相互覆盖,所以刚好解决了兼容问题。

最后我总结最好的办法就是设置cookie是就把cookie的路径设置上,然后删除的时候用同样的路径就不存在兼容的问题了。

    原文作者:swimming_in_it_
    原文地址: https://blog.csdn.net/swimming_in_IT_/article/details/80290547
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞