Javascript Cookies - 添加多个cookie而不是更新一个

时间:2015-10-10 23:01:53

标签: javascript cookies

我正在尝试使用JS Cookie在一天内添加弹出窗口暂停。这是代码:

if (document.cookie.indexOf("expirator") >= 0) {

    // do not show popup

}
else{

    var d = new Date();
    var start_date = d.toUTCString();
    d.setTime(d.getTime() + (1*24*60*60*1000));

    var expireDate = "expires="+d.toUTCString();
    document.cookie = "expirator=1;" + expireDate + "; domain=a5w.org; path=/";

    // show popup
}

由于一个奇怪的原因,这个scipt添加了多个具有相同名称的新cookie(“expirator”),而不是更新一个。为什么会这样?

来自FF cookies的

截图:

http://a5w.org/up/uploads/mike/2015-10-10/1444519970_cookies.png

1 个答案:

答案 0 :(得分:2)

您不会更新Cookie;你需要覆盖它们。

如果为不同的域或路径设置了两个cookie,则它们可能具有相同的名称。

https://stackoverflow.com/a/1242446/280842

修改

Firefox中似乎存在一个错误,它在Firefox Cookie管理器中显示多个Cookie。见https://bugzilla.mozilla.org/show_bug.cgi?id=504086