gpt4 book ai didi

javascript - iOS Safari/Chrome 中的 Cookie 持久性

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

当我在 iOS Safari(和 Chrome)上关闭并重新打开浏览器时,我的持久性 cookie 被删除。我在 iOS 11 上,但也在 iOS10/9 上测试过。 cookie 在 Android 和桌面上正确保留。奇怪的是,它适用于 iOS 上的 Firefox。

我在这里错过了什么?

这是我设置 cookie 和过期日期的 javascript 代码:

  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=/";
}

setCookie("test", "random test value", 365);

最佳答案

我刚刚遇到这个问题,在生产服务器上测试时,cookie 在 Android/桌面设备上持久存在,但在 iOS11 上却不存在。解决方案似乎是定义 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 + ";domain=" + window.location.hostname + ";path=/";
}

setCookie("test", "random test value", 365);

iOS11 似乎在接受哪些 cookie 方面更加锁定。我可以找到很多关于它更好地保护隐私的营销宣传,但很少有关于如何根据新限制正确实现事物(例如持久登录/SSO)的技术细节。谁能推荐任何有用的链接?

关于javascript - iOS Safari/Chrome 中的 Cookie 持久性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46774629/

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