Safari IOS 编码 URI 和 json 解析的问题


var viewedthoughtsarr = {"viewed": [],"firstTime": false};
if (!(viewedthoughtsarr.firstTime)) {
viewedthoughtsarr.firstTime = true;
document.cookie = encodeURIComponent(JSON.stringify(viewedthoughtsarr));
console.log(document.cookie);
console.log(JSON.parse(decodeURIComponent(document.cookie)));
}

这是我的代码,我使用了大量的警报来缩小问题所在。基本上,问题就在这里:

console.log(JSON.parse(decodeURIComponent(document.cookie)));

在这行代码之后,脚本的其余部分不会运行,因此问题一定存在。但是为什么?

我对URI进行了编码,以便在从MySQL数据库接收数据时,任何逗号或特殊字符都不会影响输出。不幸的是,它在Chrome上完全可以正常工作,但在Safari IOS 13上却不能。我读到Mac可以帮助我跟踪变量并了解问题所在,但我没有。

提前感谢:(

我发现了问题!我所要做的就是用变量声明 cookie,如下所示:

var x = document.cookie;

并将我代码中的所有"document.cookie"语句替换为x。

最新更新