更新: 解决方法是重新启动计算机。我认为发生此问题是因为最近为了进行测试我多次更改了Windows日期和时间设置。我认为那一定会让Chrome陷入困境。重新启动后,一切都会按预期进行。
当我尝试在Chrome中使用JavaScript设置最长不超过213天的Cookie时,未设置Cookie。我的功能在FireFox中似乎工作正常。
我不确定setCookie函数是否存在错误(如下),或者Chrome是否限制了我。
https://codepen.io/edtalmadge/pen/pxdqvK
function setCookie(name, value, days) {
document.cookie =
name + "=" + value + "; Max-Age=" + days * 86400 + "; path=/";
console.log(document.cookie);
}
setCookie("foo", "123", 212); // no cookie set
setCookie("bar", "456", 213); // cookie is set
答案 0 :(得分:1)
您的代码确实可以在Chrome上运行,但是max-age
拥有quirks in the past。也许可以给expires
打个针。您也可以尝试将Max-Age
小写为max-age
,如docs所示。
function setCookie(cname, cvalue, exdays) {
var d = new Date();
d.setTime(d.getTime() + exdays * 24 * 60 * 60 * 1000);
var expires = "expires=" + d.toUTCString();
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}
setCookie("foo", "123", 212);
setCookie("bar", "456", 213);