使用 JavaScript 清除所有 cookie

新手上路,请多包涵

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

原文由 polarbear 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.5k
2 个回答
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";
 }
 }

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

  • 它不会删除设置了 HttpOnly 标志的 cookie,因为 HttpOnly 标志会禁用 Javascript 对 cookie 的访问。

  • 它不会删除已使用 Path 值设置的 cookie。 (尽管事实上这些 cookie 将出现在 document.cookie 中,但如果不指定与设置它的相同 Path 值,则无法删除它。)

原文由 Robert J. Walker 发布,翻译遵循 CC BY-SA 3.0 许可协议

一个班轮

如果您想快速粘贴它…

 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=/"); }); })();

原文由 Craig Smedley 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题