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。