XMD跨文档消息(cross-document message) 其核心---postMessage()
并且可以在不同源中传递数据
用法
postMessage 包含三个参数
- 消息
- 表示目标接收源的字符串(非常重要如 www.aa.com ,也可以使用 “*” 但不推荐)
- 可选的可传输对象数组(只与工作线程相关)
当接收到XDM消息,window上会触发发message事件,event包含以下三个重要的参数
- data: 传递给posetMessage的字符串消息,重点 字符串消息
- origin 发送消息源 如 www.aa.com
- source 发送消息源的window对象代理
注意点
红宝书说posetMessage第一个参数是字符串而不是对象,后来参数改来可以传递任何结构的数据类型,但是并未所有浏览器都实现了这个改变。所以最好还是使用JSon.stringify()转一下进行传递