0
サービス担当者が受け取ったデータをWebページに返信しようとしています。messaging.setBackgroundMessageHandlerからの通知データをWebページと通信します。
ウェブページ上で「navigator.serviceWorker.controller」がnullです。職場の労働者は自分自身を空にしています。
任意のサンプルや方向性は、あなたが何ができるか
サービス担当者が受け取ったデータをWebページに返信しようとしています。messaging.setBackgroundMessageHandlerからの通知データをWebページと通信します。
ウェブページ上で「navigator.serviceWorker.controller」がnullです。職場の労働者は自分自身を空にしています。
任意のサンプルや方向性は、あなたが何ができるか
は、あなたの起源のためのタブのリストを返し、その後、各ウィンドウのクライアントにメッセージを投稿しますウィンドウのクライアントのリストを取得しているのに役立ちます。 (このコードはsetBackgroundMessageHandler()
であろう):
const promiseChain = clients.matchAll({
type: 'window',
includeUncontrolled: true
})
.then((windowClients) => {
for (let i = 0; i < windowClients.length; i++) {
const windowClient = windowClients[i];
windowClient.postMessage(data);
}
})
.then(() => {
return registration.showNotification('my notification title');
});
return promiseChain;
そしてページでメッセージを受信するので、同様にリスナーを追加します。
navigator.serviceWorker.addEventListener('message', function(event) {
console.log('Received a message from service worker: ', event.data);
});