Files
hereconnect/apps/frontend/src/registerServiceWorker.ts
T

39 lines
1012 B
TypeScript
Raw Normal View History

2024-11-21 01:03:01 +02:00
export async function registerServiceWorker() {
if (!('serviceWorker' in navigator)) {
throw new Error('Ваш браузер не поддерживает Service Worker.')
}
2024-12-05 11:04:04 +02:00
function requestDebugVersion() {
navigator.serviceWorker?.controller?.postMessage({
type: 'requestDebugVersion',
})
}
navigator.serviceWorker.addEventListener('controllerchange', () => {
console.log('Service Worker controller has changed.')
requestDebugVersion()
})
2024-11-21 01:03:01 +02:00
try {
const registration = await navigator.serviceWorker.register('/service-worker.js')
console.log('Service Worker зарегистрирован:', registration)
2024-12-05 11:04:04 +02:00
requestDebugVersion()
window.addEventListener(
'focus',
() => {
navigator.serviceWorker?.controller?.postMessage({
type: 'focused',
})
},
{},
)
2024-11-21 01:03:01 +02:00
return registration
} catch (error) {
console.error('Ошибка регистрации Service Worker:', error)
throw error
}
}