【问题标题】:Service worker scope is not matchingService Worker 范围不匹配
【发布时间】:2019-12-17 12:43:04
【问题描述】:

我在公共文件夹中有service-worker.js
当我注册服务人员时,我不得不说

navigator.serviceWorker.register('./public/csw.js')

但问题是现在服务工作者的范围设置为http://localhost:2009/public,我想捕获http://localhost:2009/ 的获取请求


如果我尝试更改服务人员的范围
navigator.serviceWorker.register('./public/csw.js',{scope:'/'})

这会产生错误,因为服务工作者是从其他目录中的文件调用的,即root/src/index.js
我没有使用 CRA

【问题讨论】:

  • navigator.serviceWorker.register('http://localhost:2009/public/csw.js') 怎么样?
  • @MihaiRăducanu 给出相同的结果

标签: reactjs service-worker


【解决方案1】:

出于安全原因,Service Worker 只能管理 a scope below its own path。如果您希望它处理主机上的所有请求,您需要将 csw.js 移动到根文件夹。或者,您可以在 csw.js 路径上设置 HTTP 标头 Service-Worker-Allowed: /(假设您的主机允许您这样做)

【讨论】:

    猜你喜欢
    • 2016-06-17
    • 1970-01-01
    • 1970-01-01
    • 2019-03-02
    • 2018-06-25
    • 1970-01-01
    • 2018-01-04
    相关资源
    最近更新 更多