gpt4 book ai didi

javascript - Chrome 不允许过期时间少于 4 小时的 cookie

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:49:26 24 4
gpt4 key购买 nike

我似乎无法在 Google Chrome 中设置生命周期较短的 cookie。它们要么没有设置,要么立即被删除(不知道是哪个,尽管两种方式的结果都是一样的)。只有在未来 4 小时或更短时间到期时才会发生这种情况。如果过期时间超过 4 小时,则相同的代码可以正常工作,并且该问题不会出现在 Firefox 或 Safari 中。这是一个例子:

不起作用:

exp = new Date();
exp.setMinutes(exp.getMinutes() + 240);
document.cookie="name=value;expires=" + exp + ";path=/";

作品:

exp = new Date();
exp.setMinutes(exp.getMinutes() + 241);
document.cookie="name=value;expires=" + exp + ";path=/";

有没有人对如何解决这个问题有任何建议?

最佳答案

事实上,我在这里查看了 Chromium 源代码 http://code.google.com/p/chromium/source/search?q=document.cookie+expire&origq=document.cookie+expire&btnG=Search+Trunk引用 cookie 并在他们所有的 expires= 语句中找到他们在日期对象上调用 .toGMTString() 或 .toUTCString() 因此它可能是一个特殊的日期格式化函数,当它 imlpicitly 将其转换为格式而不是显式时搞砸了设置一个。?!

而不是这个:

document.cookie="name=value;expires=" + exp + ";path=/";

试试这个:

document.cookie="name=value;expires=" + exp.toUTCString() + ";path=/";

关于javascript - Chrome 不允许过期时间少于 4 小时的 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11889824/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com