vue 关于清除浏览器全部cookie的问题及解决方法(绝对有效)
在Vue中清除浏览器的所有Cookie可以通过编程方式遍历并删除所有cookies来实现。以下是一个简单的方法,用于清除当前域下的所有cookies:
function clearAllCookies() {
// 获取当前域下的所有cookies
const cookies = document.cookie.split(';');
// 遍历并删除所有cookies
for (const cookie of cookies) {
const eqPos = cookie.indexOf('=');
const name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;
document.cookie = name + '=;expires=Thu, 01 Jan 1970 00:00:00 GMT';
}
}
// 调用函数清除所有cookies
clearAllCookies();
请注意,这个方法只会清除当前域下的cookies,不会影响子域或其他域的cookies。此外,这个方法也会删除所有的会话cookies,因为它将它们的过期时间设置为了1970年,这意味着它们会立即被浏览器删除。
如果需要清除特定路径或域的cookies,你需要在设置document.cookie
时指定相应的path
和domain
属性。例如:
function clearCookiesWithOptions(path, domain) {
const cookies = document.cookie.split(';');
for (const cookie of cookies) {
const eqPos = cookie.indexOf('=');
const name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;
document.cookie = name + '=;expires=Thu, 01 Jan 1970 00:00:00 GMT; path=' + path + '; domain=' + domain;
}
}
// 调用函数清除特定路径和域的cookies
clearCookiesWithOptions('/', 'example.com');
这个方法会删除example.com
域上/
路径下的所有cookies。
评论已关闭