是iPad上的localStorage保证是持久的吗?

时间:2013-02-27 14:29:58

标签: ios html5 ipad safari persistence

我已经在网上看到了对此的不同意见。据说从iOS 5.1开始,iPad上HTML5内容的本地数据存储不再保证持久,但是在Apple当前的Safari开发者页面(https://developer.apple.com/technologies/safari/html5.html)上,建议保证离线持久性。

有没有人最近有过这个主题的经验,并且能够评论HTML5的数据库功能在iPad上的Safari有多可靠?

2 个答案:

答案 0 :(得分:12)

这可能是足够的信息:

localStorage的w3c规范是:

  

第二种存储机制(注意:localStorage )专为跨越多个窗口的存储而设计,持续超出当前会话。特别是,出于性能原因,Web应用程序可能希望在客户端存储兆字节的用户数据,例如整个用户编写的文档或用户的邮箱。

在Apple页面上:

  

Safari支持最新的HTML5离线数据存储功能。您的应用程序可以使用简单的基于键/值的数据存储或强大的SQL数据库将其信息存储在本地计算机上。数据存储在本地并在Safari 的启动过程中持续存在,因此您的应用程序无需网络连接即可访问数据,从而缩短启动时间和整体性能。

搜索谷歌(和雅虎因为一些反谷歌怪物)给了我:

  

在iOS 5.1中 Apple已经将localStorage文件的位置移动到Caches文件夹,该文件夹偶尔会被清理,在操作系统的要求下,通常是空间是短。 Apple可能已经这样做了,以阻止localStorage备份到iCloud。

localStorage not accessible in IOS-6 Safari

  

我无法在 Safari(使用IOS-6的IPad)中访问localStorage。   例如,以下代码在Windows上适用于所有浏览器和(iOS版本为iOS),但不适用于iOS-6:   localStorage.setItem( “变种”, “5”);   警报(localStorage.getItem( “VAR”));

答案:

  

我能够通过iPad上的关闭隐私浏览解决问题。我从参考资料中找到了解决方案:https://github.com/cloudhead/less.js/issues/312#issuecomment-2994845

答案 1 :(得分:2)

是的,当设备存储空间不足时,Apple会清理本地存储。 (我实际上对此进行了测试并确定了确认)。