Van*_*yen 6 javascript cookies safari google-chrome ios
当我在 iOS Safari(和 Chrome)上关闭并重新打开浏览器时,我的持久性 cookie 将被删除。我使用的是 iOS 11,但也在 iOS10/9 上进行了测试。cookie 在 Android 和桌面上正确保留。奇怪的是,它适用于 iOS 上的 Firefox。
我在这里缺少什么?
这是我的 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=/";
}
setCookie("test", "random test value", 365);
Run Code Online (Sandbox Code Playgroud)
小智 6
我刚刚遇到这个问题,当在生产服务器上测试时,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);
Run Code Online (Sandbox Code Playgroud)
iOS11 在接受哪些 cookie 方面似乎更加严格。我可以找到很多关于它对隐私更好的营销宣传,但很少有关于如何根据新限制正确实施事物(例如持久登录/SSO)的技术细节。谁能推荐一些有用的链接?
| 归档时间: |
|
| 查看次数: |
2736 次 |
| 最近记录: |