navigator.serviceWorker.controller.postMessage({
type: 'MESSAGE_IDENTIFIER',
});
self.addEventListener('message', (event) => {
if (event.data && event.data.type === 'MESSAGE_IDENTIFIER') {
}
});
const broadcast = new BroadcastChannel('count-channel');
broadcast.onmessage = (event) => {
console.log(event.data.payload);
};
broadcast.postMessage({
type: 'INCREASE_COUNT',
});
const broadcast = new BroadcastChannel('count-channel');
broadcast.onmessage = (event) => {
if (event.data && event.data.type === 'INCREASE_COUNT') {
broadcast.postMessage({ payload: ++count });
}
};
navigator.serviceWorker.onmessage = (event) => {
if (event.data && event.data.type === 'REPLY_COUNT_CLIENTS') {
setCount(event.data.count);
}
};
navigator.serviceWorker.controller.postMessage({
type: 'INCREASE_COUNT_CLIENTS',
});
self.addEventListener('message', (event) => {
if (event.data && event.data.type === 'INCREASE_COUNT') {
self.clients.matchAll({
includeUncontrolled: true,
type: 'window',
}).then((clients) => {
if (clients && clients.length) {
clients[0].postMessage({
type: 'REPLY_COUNT',
count: ++count,
});
}
});
}
});