gpt4 book ai didi

javascript - Chrome 不使用分号保存 cookie

转载 作者:搜寻专家 更新时间:2023-11-01 04:29:24 24 4
gpt4 key购买 nike

我正在尝试使用 javascript 中的这个函数在我的网站上保存一个 cookie

setCookie: function(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=/";
}

奇怪的是,这在 Chrome 中不起作用。不过它在 Firefox 中有效。

如果我将分号更改为逗号,而不是像下面这样,它可以在 Chrome 中使用。但是属性被设置为 cookie 值的一部分,而不是浏览器可以读取的属性。

document.cookie = cname + "=" + cvalue + "," + expires + ",path=/";

此外,这种情况是上周才开始发生的。有没有其他人注意到这一点?如果是这样,是否有解决方案?

谢谢。

更新:

日期格式似乎有问题。我开始使用 max-age 而不是秒数的整数值,现在它工作正常,即使使用分号也是如此。

最佳答案

只有某些字段用分号表示。根据 MDN documentation :

Any of the following cookie attribute values can optionally follow the key-value pair, specifying the cookie to set/update, and preceded by a semi-colon separator:

属性值是:

;路径=路径

;域=域

;最大年龄=最大年龄

;过期=日期

;安全

下面的代码块适用于我的 Chrome 版本 58.0.3029.96(64 位)。

var cname = "MyCookie";
var cvalue = "kjqwrQR1515jetrQT26jo2u5";
var expires = " ;expires=" + Date.now() + 100000;

document.cookie = cname + "=" + cvalue + expires + " ;path=/";

如果此格式不适合您,您的 cname cvalueexdays 是什么值?

关于javascript - Chrome 不使用分号保存 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43807788/

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