How to pass data to your service worker without relying on the GET query string:
// Main script:
const worker = navigator.serviceWorker.register
(
'sw.js',
{
scope: '/',
type: 'module',
}
);
worker.ready.then
(
controller =>
{
// You can actually send JS data.
controller.postMessage({greeting: 'Hello world.'});
}
);
// sw.js
navigator.serviceWorker.addEventListener
(
'message', message =>
{
console.log('Message from Main script:', message);
}
);