1

我需要帮助更改此代码,以便 cookie 仅持续整个会话而不是 1 年。我需要做哪些改变?

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

我试图这样做,但它似乎不起作用。Cookie 已创建,但在会话关闭后不会消失。

function createCookie(name,value) {
    document.cookie = name+"="+value+"; path=/";
}

- - 更新 - -

我对代码做了一些小的改动:

    function createCookie(name,value,expires) {
        var expires = "";
        document.cookie = name+"="+value+expires+"; path=/";
    }

现在我使用的是 Chrome,它不适用于我拥有的代码,也不适用于此代码。但是这段代码可以在 IE、Firefox 和 Opera 中运行。会话结束时会删除 cookie,但不会在 Chrome 中...

4

2 回答 2

1

自 19 版以来的 Chrome 在会话 cookie 的处理方面做出了突破性的改变。为了改善用户体验,不会删除会话 cookie。

如果我理解正确,因为 chrome 设置中设置的选项说:“从我离开的地方继续”,会话 cookie 永远不会过期。

请看:

Chrome 不会删除会话 cookie

于 2013-01-11T15:42:45.810 回答
0

如果您使用的是 Chrome 或 Firefox,则将 expires 设置为 0,如果您使用的是 IE,则将 expires 参数全部省略。

于 2013-01-11T15:05:08.503 回答