服务工作人员无法加载资源:net::ERR_UNSAFE_REDIRECT

che*_*aby 1 laravel service-worker sw-precache sw-toolbox

您能告诉我我的 Service Worker 安装出了什么问题吗?这些错误出现在 Chrome 控制台中(参见 image-1)。

The script resource is behind a redirect, which is disallowed.                          service-worker.js:1

Failed to load resource: net::ERR_UNSAFE_REDIRECT          https://harampress.com/post/45/service-worker.js
Run Code Online (Sandbox Code Playgroud)

我在后端使用 Laravel 框架,如果这有帮助的话

只是知道我的 service-worker.js 位于网站的根目录中,在主页上工作正常,chrome 控制台上没有错误,但是当我尝试导航到帖子时,就会出现这两个错误(参见图片- 2)。

知道我使用 sw-precache 和 sw-toolbox,我使用 sw-precache 和 gulp 生成服务工作线程。

图片-1

图片-2

che*_*aby 5

请参阅github 讨论中解决方案

来自 github 讨论的消息实际上回答了我的问题:


@wanderview 的意思是当你这样做时

navigator.serviceWorker.register('/sw.js')
Run Code Online (Sandbox Code Playgroud)

实际请求的URL是位于根目录下的sw.js

但当你这样做时

navigator.serviceWorker.register('sw.js')
Run Code Online (Sandbox Code Playgroud)

这实际上是一个相对 URL,因此您实际请求的内容可能是/post/blah/sw.js,您的服务器可能会将其视为 404 并执行一些重定向。