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。