javaScript之跨上下文消息XDM ---postMessage

36 阅读1分钟

XMD跨文档消息(cross-document message) 其核心---postMessage()

并且可以在不同源中传递数据

用法

postMessage 包含三个参数

  1. 消息
  2. 表示目标接收源的字符串(非常重要如 www.aa.com ,也可以使用 “*” 但不推荐)
  3. 可选的可传输对象数组(只与工作线程相关)

当接收到XDM消息,window上会触发发message事件,event包含以下三个重要的参数

  • data: 传递给posetMessage的字符串消息,重点 字符串消息
  • origin 发送消息源 如 www.aa.com
  • source 发送消息源的window对象代理

注意点

红宝书说posetMessage第一个参数是字符串而不是对象,后来参数改来可以传递任何结构的数据类型,但是并未所有浏览器都实现了这个改变。所以最好还是使用JSon.stringify()转一下进行传递