具有脱机缓存和本地存储的iOS Web应用程序

时间:2012-02-21 07:04:23

标签: ios html5 web-applications ios5

我已经设法编写了一个供个人使用的webapp我真的很满意。不是为了公共使用和发布的东西,我不想经历越狱我的设备只是为了能够运行我自己的应用程序,所以我做了这个无缝的外观和行为webapp(当然我已经将其添加到其他应用程序,将其另存为“家庭应用程序”)

由于开始时间可能有点慢,而且我不断地将数据从远程服务器推送到远程服务器,我是否可以强制使用html5离线浏览(使用缓存清单)我在线的时候?此外,我正在考虑将数据保存为本地存储,并不时将其同步到服务器。由于我从未使用过html5本地存储,它有多可靠?我可以丢失数据吗?

这是一种快速创建个人iPhone应用程序的可行模式吗?感谢

2 个答案:

答案 0 :(得分:0)

是的,你可以强行使用。

所以基本上你应该做一个非常简单的检查:

if(localStorage["mycontent"]!==null)
{
  // do it offline.
}else
{
  // retrieve from server database
}

关于以下问题:

  

另外,我正在考虑将数据保存为本地存储和来自   不时将它同步到服务器。因为我从来没有使用过html5本地   存储,它有多可靠?我可以丢失数据吗?

答案取决于它。如果数据是静态的(或者只能由您而不是其他用户更改),那么它是可靠的。当数据可以被认为已过期时,您还必须注意,因此可以使用来自服务器的刷新数据填充localstorage。

但请注意,清理历史记录也会删除您的数据,因此只能使用Localstorage作为服务器中数据的缓存/镜像。

答案 1 :(得分:0)

window.localStorage.setItem('x',y);
window.localStorage.getItem('x';
window.localStorage.removeItem('x');

允许您在HTML5中存储,读取和删除持久数据。见https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API/Using_the_Web_Storage_API

但请注意,在IOS Safari上将此数据放入缓存文件夹中,有时会被清除。因此,如果重要,请计划服务器同步并恢复此数据。

或者使用本地SQLite数据库来实现更持久的持久性....