我在网上看到了对此的不同意见。据说从 iOS 5.1 开始,iPad 上 HTML5 内容的本地数据存储不再保证是持久的,但是在 Apple 当前的 Safari 开发者页面上 ( https://developer.apple.com/technologies/safari/html5 .html ),建议保证离线持久化。
有没有人最近对这个主题有任何经验并且能够评论 HTML5 的数据库功能在 iPad 上的 Safari 上的可靠性?
我在网上看到了对此的不同意见。据说从 iOS 5.1 开始,iPad 上 HTML5 内容的本地数据存储不再保证是持久的,但是在 Apple 当前的 Safari 开发者页面上 ( https://developer.apple.com/technologies/safari/html5 .html ),建议保证离线持久化。
有没有人最近对这个主题有任何经验并且能够评论 HTML5 的数据库功能在 iPad 上的 Safari 上的可靠性?
localStorage
是:
第二种存储机制(注意:localStorage)是为跨多个窗口的存储而设计的,并且持续时间超过当前会话。特别是,出于性能原因,Web 应用程序可能希望在客户端存储数兆字节的用户数据,例如整个用户创作的文档或用户的邮箱。
在 Apple 页面上:
Safari 支持最新的 HTML5 离线数据存储功能。您的应用程序可以使用简单的基于键/值的数据存储或强大的 SQL 数据库将其信息存储在本地机器上。数据存储在本地,并在 Safari 启动时持续存在,因此您的应用程序无需网络连接即可访问数据,从而缩短启动时间和整体性能。
搜索谷歌(和雅虎!因为一些反谷歌怪胎)给了我:
在 iOS 5.1中,Apple 已将 localStorage 文件的位置移动到 Caches 文件夹中,该文件夹会根据操作系统的要求进行偶尔清理,通常是在空间不足的情况下。Apple 这样做很可能是为了阻止将 localStorage 备份到 iCloud。
在 IOS-6 Safari 中无法访问 localStorage
我无法在Safari(带有 IOS-6 的 iPad)中访问 localStorage 。例如,以下代码在所有浏览器和(带有 iOS-5 的 iPad)上的 Windows 中都可以正常工作,但在 iOS-6 中却不行: localStorage.setItem("var","5"); 警报(localStorage.getItem(“var”));
回答:
我可以通过关闭iPad 上的隐私浏览来解决这个问题。我从参考中找到了解决方案:https ://github.com/cloudhead/less.js/issues/312#issuecomment-2994845
是的,当设备的存储空间不足时,Apple 会清理本地存储。(我实际上对此进行了测试并确定地确认了它)。