问题描述
我知道您无法从 ServiceWorker 访问 localStorage,但是我找不到与我的用例匹配的任何信息。
- 我有
index.html
、sw.js
和logic.js
-
index.html
“加载” 服务工作者 (sw.js
) - Service Worker 所做的只是缓存
index.html
和logic.js
文件用于离线可用性(具有 实现了“安装”、“激活”和“获取”侦听器) - 全部
业务逻辑在
logic.js
文件中;正在使用 localStorage
一切正常,我只是想确保这种方法没有任何问题。
解决方法
没关系,是的。
您可以将 Service Worker 视为代理为 logic.js
和任何其他资源/子资源发出的网络请求。一旦网络请求完成,Service Worker 就有效地“脱离了画面”(它运行的线程实际上会停止,除非有活动事件)。
Service Worker 参与加载 logic.js
的事实并不妨碍您使用本地存储或在 logic.js
内执行任何其他操作。