回答

2

您提供的示例项目存在的问题是服务人员从未准备好。

这是由于您的服务人员js文件的位置。它存储在js目录中,因此它的作用域只是位于此目录中的页面,请求服务工作者的页面位于根目录中。

要使服务工作人员可用于整个站点,必须将其放入站点的根目录中。

根据W3C specification,您还可以通过在navigator.serviceWorker.register()调用中设置scopeURL选项来手动设置服务工作者的范围。

+0

谢谢!它终于有效! – eloibm