vue关闭页面清空存储(vue 关于清除浏览器全部cookie的问题及解决方法(绝对有效))
导读:请仔细观察你的浏览器cookie~ 1、问题描述...
请仔细观察你的浏览器cookie~
1 、问题描述
我们在日常开发中 ,有本地调试 ,有多个服务器的线上调试部署 。从中我观察到 ,每次使用同一浏览器 ,如果再次登录时我们没有清理缓存 ,会有很多匪夷所思的问题 。比如:token在cookie里保存 ,导致登录失效 。多个角色登录时明明token已经更新 ,但使用的还是旧的token导致登录失败等等…
2 、思路以及遇到问题
然后我就想到了一个简单粗暴的方法 ,在单点登录时直接删除全部cookie然后获取新的token ,但是出现了删除不了全部 ,只能删除当前域(本地)的cookie…
3 、问题解决(晒出全部代码以及注释)
(1)问题的核心原因:不同域(domain)无法全部清除
(2)解决问题的全部代码与注释: delAllCookie() { //清空全部cookie var keys = document.cookie.match(/[^ =;]+(?=\=)/g); if (keys) { for (var i = keys.length; i--; ) { document.cookie = keys[i] + "=0;path=/;expires=" + new Date(0).toUTCString(); //清除当前域名下 document.cookie = keys[i] + "=0;path=/;domain=" + document.domain + ";expires=" + new Date(0).toUTCString(); document.cookie = keys[i] + "=0;path=示例:/index.vue(不同域的path,也就是你清除不了的cookie);domain=示例:10.10.10.208(不同域的domain,也就是你清除不了的cookie);expires=" + new Date(0).toUTCString(); **document.cookie可加多条!!!!** } } },4 、总结问题
描述问题时看似简单 ,但其实在排查现实问题时也是需要清晰思路的 ,它会造成很多*疼的问题 。当然在我们不同的现实开发场景,具体问题具体分析 。
5 、要个好评
理解不全面的希望大家可以补充 。如果帮到大家了 ,给个免费的赞吧!~~~~
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!