Javascript 在Safari(iOS)中,有没有一种方法可以从服务人员向客户端发送消息?
当网络请求由于脱机而失败时,我需要通知客户端并更新DOM 这在支持BroadcastChannel API的浏览器上是很容易做到的(如下面的代码示例所示),但是我完全没有办法在iOS Safari中找到解决方法 缓存似乎是服务人员和客户机之间通信的唯一明显选择,但我不确定如何利用缓存来做类似的事情,因为我看到的所有示例都将缓存用作服务资源的手段Javascript 在Safari(iOS)中,有没有一种方法可以从服务人员向客户端发送消息?,javascript,service-worker,Javascript,Service Worker,当网络请求由于脱机而失败时,我需要通知客户端并更新DOM 这在支持BroadcastChannel API的浏览器上是很容易做到的(如下面的代码示例所示),但是我完全没有办法在iOS Safari中找到解决方法 缓存似乎是服务人员和客户机之间通信的唯一明显选择,但我不确定如何利用缓存来做类似的事情,因为我看到的所有示例都将缓存用作服务资源的手段 // Clone the request to ensure it's safe to read when // adding to the
// Clone the request to ensure it's safe to read when
// adding to the Queue.
const promiseChain = fetch(event.request.clone())
.catch((err) => {
isOffline = true;
const bc = new BroadcastChannel('wb_channel');
bc.postMessage('offline');
return queue.pushRequest({ request: event.request });
});
event.waitUntil(promiseChain);
});
提前谢谢
Adam您可以使用
postMessage
API。使用它,您可以在客户机和服务人员之间传递消息