小编典典

如何使用JavaScript删除所有cookie?[重复]

javascript

我已经编写了将Cookie保存在JavaScript中的代码。现在,无论我分配的值如何,都需要清除cookie。

是否有任何脚本模块可删除Javascript生成的所有cookie ?

我的示例代码:

document.cookie = 'ppkcookie2=another test; expires=Fri, 3 Aug 2001 20:47:11 UTC; path=/'

function createCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}

function eraseCookie(name) {
    createCookie(name,"",-1);
}

我还能如何清除所有cookie?

当我在网络服务器上测试代码时会出现任何问题吗?


阅读 428

收藏
2020-05-01

共1个答案

小编典典

从表面上看,它看起来还不错-如果您调用eraseCookie()从中读取的每个cookie
document.cookie,那么所有cookie都将消失。

尝试这个:

var cookies = document.cookie.split(";");
for (var i = 0; i < cookies.length; i++)
  eraseCookie(cookies[i].split("=")[0]);

所有这些都带有以下警告:

  • JavaScript 无法 删除设置了 HttpOnly 标志的cookie 。
2020-05-01