使用 JavaScript 清除所有 Cookie

2022-08-29 23:33:34

如何使用 JavaScript 删除当前域的所有 Cookie?


答案 1
function deleteAllCookies() {
    var cookies = document.cookie.split(";");

    for (var i = 0; i < cookies.length; i++) {
        var cookie = cookies[i];
        var eqPos = cookie.indexOf("=");
        var name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;
        document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT";
    }
}

请注意,此代码有两个限制:

  • 它不会删除设置了标志的cookie,因为该标志会禁用Javascript对cookie的访问。HttpOnlyHttpOnly
  • 它不会删除已设置了值的 Cookie。(尽管这些 Cookie 将显示在 中,但如果不指定设置它的相同值,则无法将其删除。Pathdocument.cookiePath

答案 2

一个衬垫

如果您想快速粘贴它...

document.cookie.split(";").forEach(function(c) { document.cookie = c.replace(/^ +/, "").replace(/=.*/, "=;expires=" + new Date().toUTCString() + ";path=/"); });

书签的代码:

javascript:(function(){document.cookie.split(";").forEach(function(c) { document.cookie = c.replace(/^ +/, "").replace(/=.*/, "=;expires=" + new Date().toUTCString() + ";path=/"); }); })();