推送事件后来自 serviceWorker 的 PostMessage

PostMessage from serviceWorker after push event

我需要在推送事件后将消息从 serviceWorker 发送到页面。 我无法指定端口 属性(如 https://jakearchibald.github.io/isserviceworkerready/demos/postMessage/),因为我没有发送此消息

此代码不起作用(也许我做错了什么)

self.registration.active.postMessage('fsdfasf');

遵循 specs 似乎正确的实现是从 Service Worker 中选择 Client 然后使用 postMessage 方法,例如:

onmessage = function(event){
  clients.matchAll().then(function(clients){
    clients[0].postMesssage('yourmessage');
  });
}