То, чего я хотел бы добиться, - это возможность отправить sh уведомление пользователю, когда обновление доступно для моей веб-страницы React, и я пытаюсь сделать это через serviceWorkers.
Проблема, с которой я сталкиваюсь, заключается в том, чтобы свойство установки интерфейса serviceWorkerRegistration не возвращало значение NULL. Я просто хочу вызвать console.log('New content is available; please refresh.')
Я новичок в работе с сервисными работниками в React. У кого-нибудь есть идеи о том, как go о тестировании функциональности обновления ServiceWorkers в среде разработки?
console.log('I am in registerValidSW!')
navigator.serviceWorker
.register(swUrl)
.then((registration) => {
console.log(registration)
registration.onupdatefound = () => {
const installingWorker = registration.installing //This returns null
if (installingWorker) {
console.log('installingServiceWorker!!!')
installingWorker.onstatechange = () => {
if (installingWorker.state === 'installed') {
if (navigator.serviceWorker.controller) {
// At this point, the old content will have been purged and
// the fresh content will have been added to the cache.
// It's the perfect time to display a 'New content is
// available; please refresh.' message in your web app.
console.log('New content is available; please refresh.')
} else {
// At this point, everything has been precached.
// It's the perfect time to display a
// 'Content is cached for offline use.' message.
console.log('Content is cached for offline use.')
}
}
}
}
}
})
.catch((error) => {
console.error('Error during service worker registration:', error)
})