尝试注册服务工作者时出现此错误:
无法注册 ServiceWorker:获取脚本时收到了错误的 HTTP 响应代码 (404)。
我正在使用 ionic,这就是我在 app.js 中所拥有的:
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('service-worker.js').then(function(registration) {
console.log('ServiceWorker registration successful with scope: ', registration.scope);
}).catch(function(err) {
//registration failed :(
console.log('ServiceWorker registration failed: ', err);
});
}else {
console.log('No service-worker on this browser');
}
在目录中,我在同一文件夹中的 app.js 旁边有一个 service-worker.js 文件。
在 ubuntu 桌面上使用最新的 chrome 版本。
原文由 George Cscnt 发布,翻译遵循 CC BY-SA 4.0 许可协议
你提到你有
service-worker.js
在与app.js
相同的目录中,但是传递给.register()
的 URL 是相对于 HTML 文档的路径您需要确保您的 —.html
文件与对应于您所在页面的 ---service-worker.js
文件位于同一目录中。