Javascript PWA serviceWorker并非始终注册
我们有内部构建的CMS,最近我们在其中添加了PWA。现在,当访问主页www.ourdomain.com时,一切正常,但当访问文章时,我们是一个新闻网站,如www.ourdomain.com/section/article,会出现一条消息: 注册ServiceWorker失败:收到错误的HTTP响应代码(404) 获取脚本时接收到的消息 首先,范围是 / 在这种情况下,服务人员根本没有注册 现在我将范围更改为 /Javascript PWA serviceWorker并非始终注册,javascript,service-worker,progressive-web-apps,Javascript,Service Worker,Progressive Web Apps,我们有内部构建的CMS,最近我们在其中添加了PWA。现在,当访问主页www.ourdomain.com时,一切正常,但当访问文章时,我们是一个新闻网站,如www.ourdomain.com/section/article,会出现一条消息: 注册ServiceWorker失败:收到错误的HTTP响应代码(404) 获取脚本时接收到的消息 首先,范围是 / 在这种情况下,服务人员根本没有注册 现在我将范围更改为 / 它不是在主页上注册的,但不是在任何文章上注册的。我看了文件,阅读了问题和答案,但似乎
它不是在主页上注册的,但不是在任何文章上注册的。我看了文件,阅读了问题和答案,但似乎无法解决这个问题。顺便说一句,PWA在移动设备上安装得很好,而且运行得很好。您的service worker js文件最好位于您应用程序的根公共目录中,因为您刚刚开始使用PWA,指定正确的范围非常重要,下面是从安装service worker的完美示例
main.js
service worker.js
/service worker.js
和main.js
,并且如果您开始使用清单,您将呈现与
您可以在应用程序的公共根目录上尝试上述安装片段。您的service worker js文件最好位于应用程序的根公共目录中,因为您刚刚开始使用PWAs,指定正确的范围至关重要,下面是从安装service worker的完美示例
main.js
service worker.js
/service worker.js
和main.js
,并且如果您开始使用清单,您将呈现与
您可以在应用程序公用根目录上尝试上述安装代码段。您可能需要发布注册脚本的一些代码,您可能需要发布注册脚本的一些代码,谢谢。js文件确实在根目录中。我刚刚注意到一件有趣的事情:Chrome中的控制台说每个页面都很好,而web.dev说serviceWorker只是为主页注册的。所以,这些是相互冲突的信息,我不确定console或web.dev是否正确。谢谢。js文件确实在根目录中。我刚刚注意到一件有趣的事情:Chrome中的控制台说每个页面都很好,而web.dev说serviceWorker只是为主页注册的。所以,这些是相互冲突的信息,我不确定console或web.dev是否正确。
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('/service-worker.js')
.then(function(registration) {
console.log('Registration successful, scope is:', registration.scope);
})
.catch(function(error) {
console.log('Service worker registration failed, error:', error);
});
}