如何实现跨窗口通讯

  • Post author:
  • Post category:其他




1. MessageChannel

Channel Messaging API 的

MessageChannel

接口允许我们创建一个新的消息通道,并通过它的两个MessagePort 属性发送数据。



2. window.postMessage

window.postMessage() 方法可以安全地实现跨源通信。通常,对于两个不同页面的脚本,只有当执行它们的页面位于具有相同的协议(通常为 https),端口号(443 为 https 的默认值),以及主机 (两个页面的模数 Document.domain设置为相同的值) 时,这两个脚本才能相互通信。window.postMessage() 方法提供了一种受控机制来规避此限制,只要正确的使用,这种方法就很安全



3. localStorage 监听

当前页面使用的 storage 被其他页面修改时会触发 StorageEvent 事件。

[事件在同一个域下的不同页面之间触发,即在 A 页面注册了 storge 的监听处理,只有在跟 A 同域名下的 B 页面操作

storage 对象,A 页面才会被触发 storage 事件]



4. websoket



版权声明:本文为qq_32247819原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。