【问题标题】:How to use localstorage.setItem() inside service worker?如何在服务人员中使用 localstorage.setItem()?
【发布时间】:2018-09-17 13:03:26
【问题描述】:

我正在为我的应用程序使用类型脚本,我需要在 service worker 上存储一些 id,但它不支持 self.localStorage.setItem('notificationclicked', 'bgclicked')

【问题讨论】:

  • 你无法从 service worker 访问本地存储
  • 嗨,Aleksey,你知道有什么办法解决这个问题吗?实际上我需要处理背景通知点击我的 PWA 应用程序以显示不同的页面。
  • 你可以使用postMessage

标签: typescript ionic-framework service-worker progressive-web-apps


【解决方案1】:

在 service worker 中无法访问 localStorage、XHR 以及 DOM 等同步 API。

对于存储,您需要使用 IndexedDB。它不是直接使用的最简单的 API。相反,我推荐一个可以使它像 localStorage 一样易于使用的库。

我喜欢localForage,https://localforage.github.io/localForage/

【讨论】:

  • 嗨,克里斯,谢谢你的回复,但是 localForge 没有在服务人员上工作。你在 service worker 上用过吗?
  • 是的,我有。我想我在我的 PWA 书中使用了它。
猜你喜欢
  • 2019-04-15
  • 1970-01-01
  • 2018-02-01
  • 1970-01-01
  • 2020-01-14
  • 1970-01-01
  • 1970-01-01
  • 2019-11-19
  • 1970-01-01
相关资源
最近更新 更多