无法清除 Cookie 的解决方法
Andy 2021-02-18
JS
# JS 无法清除Cookie的解决方法
# 问题来源 :
今天遇到一个cookie的问题: 名叫coupon的,域为www.smartstudy.com/user 的cookie无法删除,导致用户提示信息展示错误。搞了半天终于发现问题所在:原来是我关于cookie的基础知识没搞清楚
Cookie不仅仅有名字和值两个属性,还有域(domain),过期时间(expires),路径(path)等属性。 其中,不同的域、不同的路径下可以存在同样名字的cookie
- 一般我们删除cookie的方法是用一个同样名字、过期时间为过去某个时候的Cookie覆盖之。
- 这时就一定要搞清楚你要删除的cookie的域和路径,Cookie域和路径要一样才能被覆盖。
- 否则产生的效果就是那个想要被删除的Cookie具有神奇的生命力,无法被清除~~~
# 自己代码
1 添加cookie
域 : www.smartstudy.com
Cookie( 'coupon', 2, {expires: new Date(new Date().getTime() + 1000 * 60 * 60 * 24 * 10)});
2 删除cookie
域 : www.smartstudy.com/user
Cookie( 'coupon', '', {expires: new Date(-1)});
好吧 引入没有指定路径 所以怎么也删除不了
# 解决方案
路径一致就ok啦
Cookie( 'coupon', 2, {expires: new Date(new Date().getTime() + 1000 * 60 * 60 * 24 * 10),path:'/'});
Cookie( 'coupon', '', {expires: new Date(-1),path:'/'});
# 参考链接
1 http://www.cnblogs.com/gossip/archive/2011/12/06/2278282.html 2 http://php.js.cn/blog/delete-cookie/
# vuex 持久存储问题
https://www.npmjs.com/package/vuex-persist