navigator.serviceWorker.register('service-worker.js').then(worker =>{
console.log('controller', navigator.serviceWorker.controller)
console.log('worker ->', worker)
})
Затем я запускаю интервал, и он печатает waiting...
навсегда, означая, что он все еще null
.
var tt = setInterval(()=>{
if (navigator.serviceWorker.controller) {
console.log('Controller found')
navigator.serviceWorker.controller.postMessage("ping")
clearInterval(tt)
}
else {
console.log('waiting...')
}
}, 2000)
Что я делаю не так?Сервисный работник, очевидно, активен, я даже могу отправлять push-сообщения, используя их, и они принимаются.
Firefox 64, Linux
Обновление: это происходит не все 100% раз, когда я открываю страницу(или переустановить рабочий), возможно, примерно в 30% случаев.