我们的服务工作人员OneSignalSDKWorker.js
并OneSignalSDKUpdaterWorker.js
覆盖在最顶层(站点根)服务工作人员范围内注册的其他服务工作人员;是否可以将您的其他服务人员导入我们的服务人员?
以下是如何做到这一点:
目前两者的内容OneSignalSDKWorker.js
和内容都OneSignalSDKUpdaterWorker.js
包含以下内容:
importScripts('https://cdn.onesignal.com/sdks/OneSignalSDK.js');
请同时修改OneSignalSDKWorker.js
和OneSignalSDKUpdaterWorker.js
导入您的其他服务工作人员文件的内容,如下所示:
importScripts('https://example.com/my-other-service-worker.js');
importScripts('https://cdn.onesignal.com/sdks/OneSignalSDK.js');
我们建议使用上述方法,而不是将我们的 service worker 导入另一个文件,因为我们的 web SDK 会覆盖在根范围内注册的其他 worker,并用我们的替换它们。
请注意,所有这一切仅适用于您尝试将服务工作者注册到根范围(如https://example.com/other-worker.js)。如果您尝试仅在特定子目录下注册服务工作者,例如https://example.com/some-subdirectory/other-worker.js,则不应替换您的服务工作者。
可以在此处阅读有关服务人员的更多信息。