reactjs - 在某些不支持 BroadcastChannel 的浏览器中,从 Service Worker 发送消息以响应组件

标签 reactjs web-services internet-explorer safari

我能够成功从我的服务器获取推送通知并用此更新 react 组件

    self.addEventListener('push', event => {
     const data = event.data.json();
     event.waitUntil(
       self.registration.showNotification(data.title, {
         body: data.body,
         image: './Flowster-icon-32.png'
      })
    );

     const channel = new BroadcastChannel('sw-messages');
     channel.postMessage(data);
   });

但是浏览器sucs IE,safari,不支持BroadcastChannel,甚至client.postMessage在这些浏览器中也不支持,我怎样才能让它在这些浏览器中工作。感谢您提前提供的帮助。

最佳答案

BroadcastChannel doesn't support IE and safari browser ,作为解决方法,我建议您可以尝试使用 sysend.js在 IE 或 safari 浏览器中。

引用:How can I use the BroadcastChannel API or something similar in Safari 10+?

关于reactjs - 在某些不支持 BroadcastChannel 的浏览器中,从 Service Worker 发送消息以响应组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59366355/

相关文章:

javascript - react : how to pass arguments to the callback

reactjs - 如何使用 React Hooks 和 Context API 将来自 useEffect 内部调用的多个端点的数据正确添加到状态对象?

c# - 如何使动态生成的 .net 服务客户端从 *.config 文件以外的其他位置读取配置

javascript - 如何使状态栏/地址栏在 Firefox 或 IE 中消失?

javascript - 如何在 React.js 上解析 "Warning: Encountered two children with the same key"

javascript - Cookies 没有通过 relayjs 在 graphql 请求中传递到移动浏览器中

c# - 如何使用 Windows Phone 8 连接到已托管在服务器上的 SQL Server 数据库

android - 监控安卓应用程序

html - 强制 Lotus Notes 电子邮件中的链接始终在新窗口中打开?

internet-explorer - OpenCart - 如果填写产品 SEO 关键字,OpenCart 在 IE 上崩溃