waz*_*waz 2 javascript google-chrome service-worker
有没有办法与服务工作者一起存储用户ID和其他信息?
这样,当您向其发送推送通知时,它就可以使用本地存储的信息并对其进行处理?
我尝试使用localStorage,但似乎无法识别它。
当我得到这个错误:
Uncaught ReferenceError: localStorage is not defined
本地存储在Service Worker中不可用,因为它没有异步API。Service Worker设计为完全异步的,因此Service Worker上下文中没有可用的同步API。您可以改用IndexedDB,尽管遗憾的是它具有笨拙的API。
最近想完成同样的事情。IndexedDB 只是传递 UID 就显得如此沉重。但后来我意识到你可以通过服务工作者 url 路径中的查询参数传递一个 UID ......
navigator.serviceWorker.register(`/public/js/lib/service-worker.js?uid=${window.uid}`).then((reg) => {
Run Code Online (Sandbox Code Playgroud)
...然后只需通过location在服务工作者内部解析来访问它。
| 归档时间: |
|
| 查看次数: |
632 次 |
| 最近记录: |