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

Service worker Failed to load resource: net::ERR_UNSAFE_REDIRECT

你能告诉我我的 service worker 安装有什么问题吗,我在 chrome 控制台中出现了这些错误(见图 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

如果有帮助,我会在后端使用 Laravel 框架

只是想知道我的服务-worker.js 在网站的根目录中,在主页上工作正常,在 chrome 控制台上没有错误,但是当我尝试导航到 post 例如,出现这两个错误(参见图 2)。

知道我使用 sw-precache 和 sw-toolbox,我使用带有 gulp.

的 sw-precache 生成服务工作者

image-1

image-2

在 github 讨论

上查看解决方案 here

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


@wanderview 的意思是当你

navigator.serviceWorker.register('/sw.js')

实际请求的URL是位于根

的sw.js

但是当你这样做的时候

navigator.serviceWorker.register('sw.js')

这实际上是一个 Relative URL,所以您实际请求的可能是 /post/blah/sw.js,您的服务器可能会将其视为 404 并进行一些重定向。