【问题标题】:javascript set cookie doesn't work on chrome androidjavascript set cookie 在 chrome android 上不起作用
【发布时间】:2017-07-19 02:55:26
【问题描述】:
我在我的 Android 手机上的 chrome 上设置 cookie 时遇到问题。
源代码上传到在线服务器。
这是我的javascript代码:
函数更新Cookie(值){
document.cookie = 'l='+值+'; expires=240 年 8 月 2 日星期四 20:47:11 UTC;路径=/';
location.reload();
}
它可以在我电脑上的 chrome/mozilla 上运行
它可以在我的 android 手机上的 mozilla 上运行
但它在我的安卓手机上的 chrome 上不起作用
有人有问题吗?
【问题讨论】:
标签:
javascript
android
google-chrome
cookies
【解决方案1】:
我注意到在带有 https 和 SameSite="None" 的网站上,cookie 没有设置。当我添加“安全”属性时,它起作用了:
var is_ssl = window.location.protocol === "https:";
var ss = is_ssl ? ";SameSite=None" : ";SameSite=Lax";
var sec = is_ssl ? ";secure" : "";
document.cookie = name + " = " + value + ss + sec;
【解决方案2】:
我发现了问题:日期无效。
我将我的功能修改为此
功能更新饼干(语言){
// 今天 + 1 年
var exdate = new Date().getTime() + (1000*60*60*24*7*52);
var date_cookie = new Date(exdate).toUTCString();
document.cookie = 'l='+值+';过期='+date_cookie+';路径=/';
location.reload();
}
这适用于电脑和安卓上的 chrome/mozilla