【问题标题】:Why cookies are not created with some UTC expiration dates on Google Chrome为什么在 Google Chrome 上没有创建带有某些 UTC 到期日期的 cookie
【发布时间】: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


【解决方案1】:

我解决了我的问题。我们这里有这个问题的两个人,也是我们两个前段时间为了测试目的而在本地时间玩我们的电脑的......

我重新启动了计算机,现在一切正常。我猜windows在登录时会重新加载Active Directory本地服务器日期/时间

希望可以帮助其他人:)

感谢大家的帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-07
    • 1970-01-01
    • 1970-01-01
    • 2018-10-18
    • 2018-12-20
    • 2010-10-06
    • 1970-01-01
    相关资源
    最近更新 更多