【问题标题】:How can I write data to and update HTML5 cached web pages while working offline?如何在离线工作时将数据写入和更新 HTML5 缓存网页?
【发布时间】:2013-11-20 23:57:15
【问题描述】:

在我正在编写的应用程序中,用户通过在线表单获取有关某人的信息。当他们完成表格时,他们会保存他们的工作,在一个会话中重复这个过程几次。当他们点击“保存并结束会话”时,他们会返回他们刚刚保存的几个人员实例的列表,所有数据都保存到服务器。

我希望在离线应用中复制此功能。使用 HTML5,我了解如何缓存页面,以及如何使用原始 Javascript(或者可能是 Angular.js 缓存)将 JSON 表单数据存储在 localStorage 中。

但是是否可以在离线时使用缓存数据动态更新缓存网页?例如,如何在离线会话期间将缓存的表单数据写入列表页面的缓存副本,并使用刚刚生成的数据更新该页面?

我找不到这个问题的答案。非常感谢所有建议!

【问题讨论】:

    标签: javascript jquery html angularjs caching


    【解决方案1】:

    如果我理解正确,您想在离线时动态更新 html 视图。 如果您使用的是 Angular,这非常简单。

    您只需要缓存 JS 控制器,而不仅仅是 html 文件(将其设置在 cache.manifest 中)。该页面将具有与在线应用程序相同的功能。

    但是如果您想在离线时将存储的离线数据发送回服务器,您可以编写一个简单的代码:

    1. 将参数保存在localStorage中,这将标记数据是否在运行在线/离线应用程序时保存(您可以通过向应用程序的现有部分发送AJAX请求来识别在线/离线,该部分不可用离线(所以不是缓存一个))
    2. 当应用程序在在线模式下运行时,它将收集离线存储的所有数据并将其发送到服务器

    【讨论】:

    • 非常感谢,doodeec;这很有帮助。它给了我一个解决方案,让我也能理解其他问题。
    猜你喜欢
    • 1970-01-01
    • 2012-04-02
    • 2013-01-23
    • 1970-01-01
    • 2010-11-15
    • 2015-05-05
    • 1970-01-01
    • 2012-10-14
    • 1970-01-01
    相关资源
    最近更新 更多