有人最近有过这方面的经验,并能够评论HTML5数据库功能在iPad上使用Safari时的可靠性吗?
localStorage
的 w3c 规范如下:
第二个存储机制(注意:localStorage)旨在用于跨多个窗口的存储,并且持续超过当前会话。特别地,Web 应用程序可能希望存储用户数据,例如整个用户创作的文档或用户的邮箱等大量数据,以提高性能。
而在 Apple 页面上:
Safari 支持最新的 HTML5 离线数据存储功能。您的应用可以使用基于简单键/值的数据存储或强大的 SQL 数据库将其信息存储在本地计算机上。数据存储在本地,并在 Safari 启动时持久存在,因此您的应用不需要网络连接即可访问数据,提高了启动时间和整体性能。
通过搜索 Google(由于一些反谷歌怪人还有 Yahoo!),我得到了以下结果:
在 iOS 5.1 中,苹果公司将 localStorage 文件的位置移动到缓存文件夹中(该位置会偶尔进行清理),应操作系统的要求执行此操作,通常在空间不足时。苹果可能这样做是为了防止 localStorage 被备份到 iCloud。
iOS-6 Safari 中无法访问 localStorage
我无法在iOS-6 的 Safari(iPad)中访问 localStorage。 例如,以下代码在 Windows 上所有浏览器和(iOS-5 上)都可以正常运行,但在 iOS-6 上无法工作: localStorage.setItem("var","5"); alert(localStorage.getItem("var"));
答案:
我通过关闭iPad上的隐私浏览来解决了问题。我从以下参考资料中找到了解决方法:https://github.com/cloudhead/less.js/issues/312#issuecomment-2994845
是的,当设备存储空间不足时,苹果会清理本地存储。 (我实际测试过并确认了这一点)。