为了账号安全,请及时绑定邮箱和手机立即绑定

用JavaScript清除所有cookie

用JavaScript清除所有cookie

拉风的咖菲猫 2019-07-04 13:37:24
用JavaScript清除所有cookie如何使用JavaScript删除当前域的所有cookie?
查看完整描述

3 回答

?
慕斯王

TA贡献1864条经验 获得超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

    标志集,如

    HttpOnly

    标志禁用Javascript对cookie的访问。
  • 它将不会删除已设置为

    Path

    价值。(尽管这些cookie将出现在

    document.cookie

    ,但如果不指定相同的

    Path

    )设置它的值。)


查看完整回答
反对 回复 2019-07-04
?
潇湘沐

TA贡献1816条经验 获得超6个赞

一衬垫

如果你想尽快把它粘贴进去.

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


查看完整回答
反对 回复 2019-07-04
?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

在经历了一些挫折之后,我自己完成了这个函数,它将尝试从所有路径中删除一个命名的cookie。只需为每个cookie调用它,您就应该更接近于删除每个cookie,而不是以前的每个cookie。

function eraseCookieFromAllPaths(name) {
    // This function will attempt to remove a cookie from all paths.
    var pathBits = location.pathname.split('/');
    var pathCurrent = ' path=';

    // do a simple pathless delete first.
    document.cookie = name + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT;';

    for (var i = 0; i < pathBits.length; i++) {
        pathCurrent += ((pathCurrent.substr(-1) != '/') ? '/' : '') + pathBits[i];
        document.cookie = name + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT;' + pathCurrent + ';';
    }}

与以往一样,不同的浏览器有不同的行为,但这对我来说很有效。好好享受吧。


查看完整回答
反对 回复 2019-07-04
  • 3 回答
  • 0 关注
  • 6377 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信