Firebase 将messaging.setBackgroundMessageHandler中的通知数据传送到网页
我正在尝试将服务人员收到的数据传回网页 网页上的“navigator.serviceWorker.controller”为空。服务工作者将self.client设置为空Firebase 将messaging.setBackgroundMessageHandler中的通知数据传送到网页,firebase,service,firebase-cloud-messaging,worker,Firebase,Service,Firebase Cloud Messaging,Worker,我正在尝试将服务人员收到的数据传回网页 网页上的“navigator.serviceWorker.controller”为空。服务工作者将self.client设置为空 任何示例或说明都将有助于您所能做的是获取一个窗口客户端列表,该列表将返回一个源站选项卡列表,然后向每个窗口客户端发布一条消息。(此代码将位于setBackgroundMessageHandler())中: const promiseChain = clients.matchAll({ type: 'window',
任何示例或说明都将有助于您所能做的是获取一个窗口客户端列表,该列表将返回一个源站选项卡列表,然后向每个窗口客户端发布一条消息。(此代码将位于
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);
});