服务工作者的范围是多少?

时间:2017-09-29 16:09:01

标签: javascript service-worker progressive-web-apps

我在同一个域下的不同文件夹上运行不同的应用程序。

https://<mydomain>/app1
https://<mydomain>/app2
...
...

我注意到在一个文件夹(https://<mydomain>/app1)上运行的服务工作者正在整个域https://<mydomain>.上扩展其操作

如何为每个子文件夹部署服务工作者而不受干扰?

1 个答案:

答案 0 :(得分:3)

在注册阶段使用范围选项。

基本上你会在app1和app2目录中部署两个sw.js文件,并限制它们只控制它们下面的资源。

  navigator.serviceWorker.register('/sw.js', {scope: './'}).then(...)

在这里阅读更多内容: https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerContainer/register