【发布时间】:2017-01-04 12:21:56
【问题描述】:
我正在尝试将 cookie 设置为比现在晚 5 分钟的到期日期。它不起作用。
我创建了一个fiddle 来创建 3 个具有不同到期日期的 cookie:5 分钟后、1 小时后和 2 小时后:
function setCookie(cname,exSecondes) {
var d = new Date();
d.setTime(d.getTime() + (exSecondes*1000));
var expires = "expires=" + d.toUTCString();
console.log(cname + ' => ' + expires);
document.cookie = cname + "=test;" + expires + ";path=/";
}
console.log('now in France => ' + new Date().toString());
console.log('now in France (UTC) => ' + new Date().toUTCString());
var in5Minutes = 60*5;
setCookie("in5Minutes", in5Minutes);
var inOneHour = 60 * 60 ;
setCookie("inOneHour", inOneHour);
var inTwoHours = inOneHour *2;
setCookie("inTwoHours", inTwoHours);
这是控制台中的结果:
但是在使用 chrome 开发工具进行调试时,我只能看到创建了一个 cookie。为什么?
感谢您的帮助!
编辑: cookie 在 IE Firefox 上创建良好,但在 Chrome 上没有
EDIT2:我在 10 号窗口,这是我的时区:
EDIT3: 我的另外两个队友在这里尝试了我的小提琴:一个创建了 0 个 cookie,另一个很好地创建了 3 个。每台计算机上的谷歌浏览器版本相同。
【问题讨论】:
-
我正在使用 Chrome,你的小提琴对我来说工作正常。所有 3 个 cookie 均按预期创建。您使用的是哪个版本的 Chrome?
-
这里也一样,所有 3 个都已创建
-
您当地的时区是 GMT+0100 是否是巧合...并且只创建了 +2 小时的 cookie?
-
我认为它可能来自那个,但我不知道为什么
-
@Victor Martins:Chrome 版本为 55.0.2883.87 m(64 位)
标签: javascript date cookies utc