Javascript Lighthouse:失败:站点未注册服务人员
我有服务人员,我注册服务人员的代码:Javascript Lighthouse:失败:站点未注册服务人员,javascript,service-worker,progressive-web-apps,Javascript,Service Worker,Progressive Web Apps,我有服务人员,我注册服务人员的代码: if('serviceWorker' in navigator) { navigator.serviceWorker .register('sw.js') .then(function() { console.log('Service Worker Registered'); }) .catch(function(error) {console.log('Service worker registration failed,
if('serviceWorker' in navigator) {
navigator.serviceWorker
.register('sw.js')
.then(function() { console.log('Service Worker Registered'); })
.catch(function(error) {console.log('Service worker registration failed, error:', error); });
}
当我在浏览器中打开应用程序时,它会显示登录浏览器控制台的“Service Worker Registered”
此外,我可以在“应用程序”选项卡的“服务工作者”部分“显示服务工作者”中的chrome的inspect元素中看到服务工作者。
见错误
问题:
我的代码在这里:我不确定您添加事件侦听器的方法是否正确,您是否可以尝试遵循此指南: 他们给出的安装时缓存文件的示例如下所示:
self.addEventListener('install', function(event) {
event.waitUntil(
caches.open(cacheName).then(function(cache) {
return cache.addAll(
[
'/css/bootstrap.css',
'/css/main.css',
'/js/bootstrap.min.js',
'/js/jquery.min.js',
'/offline.html'
]
);
})
);
});
这会导致您的软件在安装时中断。您的SW.js文件中出现控制台错误,这可能是导致问题的原因。也许试着看看你是否能解决这个问题。你能从你的服务人员文件中发布代码吗?代码链接:嗨,Arvind,我刚刚用灯塔测试了你的例子,看起来问题已经解决了(软件注册成功),对吗?你是如何解决这个问题的,你能给出一个答案吗?嗨,谢谢你的宝贵意见,但我在我的服务人员中写的代码是一样的:var VERSION='2';这个.addEventListener('install',函数(e){e.waitUntil(caches.open(VERSION).then(cache=>{return cache.addAll(['/','/index.html','/sw.js','/style.css','/Icon.png','/fox Icon.png','/Icon-512.png']);});你能试着使用self.addEventListener而不是这个吗。