作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 js 将我的购物 list 存储在 cookie 中。它在 Windows 或 Macintosh 或 Android 手机上工作正常,但在 iPhone 移动浏览器(safari 和 chrome)上工作不正常。在食物页面中,我将食物添加到我的列表中,然后刷新页面或重定向到其他页面后,cookie为空。
我尝试了两种方式来编写cookie,也尝试了cookie参数,但问题仍然存在。
这是我设置 cookie 的代码:
function bake_cookie(name, value) {
var date,
date = new Date();
date.setTime(date.getTime()+(30*24*60*60*1000));
var cookie = [name, '=', JSON.stringify(value), '; domain=', "", ';
path=','/; expires='+date.toUTCString()+"';"].join('');
document.cookie = cookie;
}
我的值是一个像这样的对象数组:
[
{
count: 3
food_id: 2
kitchen_name: "kitchen 1"
pic: "url"
title: "food 1"
total_price: 21000
unit_price: 7000
},
{
count: 5
food_id: 7
kitchen_name: "kitchen 2"
pic: "url"
title: "food 2"
total_price: 25000
unit_price: 5000
},...
]
要首先更新它,我会像这样删除 cookie:
function delete_cookie(name) {
document.cookie = [name, '=; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/;
domain=', ""].join('');
}
然后我用新的输入调用bake_cookie()。
最佳答案
让我猜一下,您的 cookie 包含非 ASCII 字符?除了 iOS 之外,它在所有环境中都可以正常工作。解决方案是URL编码和URL解码。
另一个解决方案是使用 js-cookie ,它将透明地处理这个问题。
关于javascript - iOS:javascript cookie 不适用于 Safari 或 Chrome 等 iOS 浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56510642/
我是一名优秀的程序员,十分优秀!