【发布时间】:2014-02-05 05:07:23
【问题描述】:
在装有 iOS 7 的 iPhone 上使用 LocalStorage 会引发此错误。我一直在四处寻找解决方案,但考虑到我什至没有私下浏览,没有什么是相关的。
我不明白为什么在 iOS 7 中默认会禁用 localStorage,但似乎是这样?我也在其他网站上测试过,但没有运气。我什至尝试使用这个网站对其进行测试:http://arty.name/localstorage.html,但由于某些奇怪的原因,它似乎根本没有保存任何东西。
有没有人遇到过同样的问题,只是他们有幸解决了这个问题?我应该切换存储方式吗?
我尝试通过仅存储几行信息来对其进行硬调试,但无济于事。我使用标准的localStorage.setItem()函数来保存。
【问题讨论】:
-
这通常意味着您尝试存储的内容超出了可用存储空间的大小。您使用的是什么浏览器(Safari、Chrome 等)?您能否再分享一些您一直在使用的代码以及您尝试存储的数据(如果可能)。
-
这应该被视为 Safari 端的错误或问题。不能在隐身模式下使用 localStorage 是没有意义的...
-
使用a feature detect that tests for this specific issue。如果存储不可用,请考虑使用 memoryStorage 填充 localStorage。 免责声明:我是链接包的作者
-
2017 年 4 月,一个补丁被合并到 Safari 中,因此它与其他浏览器保持一致。可能会登陆 Safari 11。bugs.webkit.org/show_bug.cgi?id=157010
-
我可以确认这已在 Safari iOS 11 中得到修复。在 iPhone6 和 iPhone8 上测试隐私浏览 + sessionStorage.setItem() 然后 sessionStorage.getItem() 成功。
标签: javascript iphone html local-storage