在我的php应用程序中,我有一个名为main.js的文件,其中有一个服务工作者实现,用于在Web应用程序中注册服务工作者。这是注册服务工作者所需的main.js文件中的示例代码段
(function () {
//If serviceWorker supports, then register it.
if ("serviceWorker" in navigator) {
navigator.serviceWorker.register('http://localhost:88/weburl/serviceWorker.js', { scope: "./" }) //setting scope of sw
.then(function(registration) {
console.info('Service worker is registered!');
checkForPageUpdate(registration); // To check if new content is updated or not
})
.catch(function(error) {
console.error('Service worker failed ', error);
});
}
这是我的项目 http://localhost:88/weburl.com/serviceWorker.js
的路径当我启动上述项目时,它一直在告诉
A bad HTTP response code (404) was received when fetching the script. serviceworker.js
在检查元素时,如图所示在脚本中添加的项目的基本URL从不作为采样加载
navigator.serviceWorker.register('http://localhost:88/weburl/serviceWorker.js', { scope: "./" }) //setting scope of sw
相反,我看到这导致错误404找不到
navigator.serviceWorker.register('./serviceWorker.js', { scope: "./" }) //setting scope of sw
请问可能是错的
答案 0 :(得分:0)
你可以尝试没有正确路径的本地主机,我刚刚给出了一个例子
navigator.serviceWorker.register('/weburl/serviceWorker.js', { scope: "./" })
或者从谷歌查看此链接 - https://developers.google.com/web/fundamentals/getting-started/primers/service-workers