【问题标题】:iOS web app with offline cache and local storage具有离线缓存和本地存储的 iOS Web 应用
【发布时间】:2012-02-21 07:04:22
【问题描述】:

我已经成功编写了一个供个人使用的 web 应用程序,我对此非常满意。不是供公众使用和分发的东西,我不想为了能够运行我自己的应用程序而经历越狱设备的麻烦,所以我制作了这个外观和行为无缝的 webapp(当然我已经将其添加到其他应用程序中,并将其保存为“家庭应用程序”)

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

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

【问题讨论】:

    标签: ios html web-applications ios5


    【解决方案1】:

    是的,您可以强制使用。

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

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

    关于您的问题:

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

    答案是视情况而定。如果数据是静态的(或者只能由您而不是其他用户更改),那么它是可靠的。您还必须注意数据何时可以被视为过期,以便本地存储可以填充来自服务器的刷新数据。

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

    【讨论】:

      【解决方案2】:
      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 数据库以获得更持久的持久性....

      【讨论】:

        猜你喜欢
        • 2016-01-02
        • 2023-03-27
        • 1970-01-01
        • 2017-05-21
        • 1970-01-01
        • 2012-04-18
        • 1970-01-01
        • 1970-01-01
        • 2019-01-06
        相关资源
        最近更新 更多