微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用服务工作者时,如何从IndexedDB中检索值?

如何解决使用服务工作者时,如何从IndexedDB中检索值?

我是IndexedDB和服务人员的新手,很难理解如何将它们转变为功能性应用程序。我已经对这两者进行了广泛的阅读,但即使是“完整”的示例也没有将两者结合。

我的任务是创建一个允许用户脱机工作的应用程序。他们第一次连接到站点时,我想从数据库提取特定信息,并将其存储在IndexedDB中。当他们离线时,我需要使用该数据在页面显示信息。某些交互将导致数据更新,然后在重新建立Internet连接后随后进行同步。从较高的角度,我了解了它是如何工作的。

据我了解,由于serviceworkers的异步特性,我们无法从serviceworker.js文件调用函数。此外,serviceworkers.js无法直接更新DOM。但是,我看到的示例是在serviceworkers.js文件中创建和管理IndexedDB数据。

所以说我有一个文件

across

还有一个serviceworker.js:

<!-- index.html -->
<html>
<body>
Hello <span id="name"></span>
</body>
</html>

现在如何从“ mydata”数据库中的“用户”对象库中使用键= 1的值更新元素“名称”?

解决方法

根据您的用例,您有几种选择:

  1. 您不需要服务人员。只需直接从页面从iDB中提取数据即可。 DOM可以访问iDB。
  2. 为index.html设置模板。在Service Worker中的激活步骤中,使用iDB中的值预渲染页面并对其进行缓存。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。