serviceworkers
Register, unregister, and message service workers via the Service Worker API.
Import: @rtorcato/browser-common/serviceworkers
๐ MDN: Service Worker API ยท ๐ caniuse: serviceworkers
Registering a service worker needs a secure context (HTTPS/localhost).
Browser supportโ
| API | Chrome | Edge | Firefox | Safari | iOS Safari | Baseline |
|---|---|---|---|---|---|---|
ServiceWorkerContainer.register | โ 40+ | โ 17+ | โ 44+ | โ 11.1+ | โ 11.3+ | Widely available |
โ
supported ยท โ partial ยท โ not supported ยท [n] see note. Generated from MDN browser-compat-data and web-features. caniuse: ServiceWorkerContainer.register
Exampleโ
import {
isServiceWorkerAvailable,
registerServiceWorker,
postMessageToServiceWorker,
} from '@rtorcato/browser-common/serviceworkers'
if (isServiceWorkerAvailable()) {
const reg = await registerServiceWorker('/sw.js', { scope: '/' })
postMessageToServiceWorker({ type: 'skipWaiting' })
}
Exportsโ
isServiceWorkerAvailable()โ feature checkregisterServiceWorker(scriptUrl, options?)โ registers a service worker, resolves to theServiceWorkerRegistrationorundefinedunregisterAllServiceWorkers()โ unregisters every service worker for the current origingetServiceWorkerRegistration()โ resolves to the activeServiceWorkerRegistration, orundefinedpostMessageToServiceWorker(message)โ sends a message to the active service worker
See the API reference for full signatures.