一、postMessage接口允许窗口之间相互通信,无论它们来自什么源。
二、使用这个功能,需要获取到网页所在窗口对象的实例

用途

一、用途:
1、页面和其打开的新窗口的数据传递
2、多窗口之间消息传递
3、页面与嵌套的iframe消息传递

接口

postMessage

一、想要发送消息的窗口需要调用接收窗口的 postMessage 方法。换句话说,如果我们想把消息发送给 win,我们应该调用 win.postMessage(data, targetOrigin)。

参数

一、data:要发送的数据。
1、可以是任何对象,数据会被通过使用“结构化序列化算法(structured serialization algorithm)”进行克隆。
2、IE 浏览器只支持字符串,因此我们需要对复杂的对象调用 JSON.stringify 方法进行处理,以支持该浏览器。
二、targetOrigin:指定目标窗口的源,以便只有来自给定的源的窗口才能获得该消息。
1、targetOrigin 是一种安全措施。请记住,如果目标窗口是非同源的,我们无法在发送方窗口读取它的 location。因此,我们无法确定当前在预期的窗口中打开的是哪个网站:用户随时可以导航离开,并且发送方窗口对此一无所知。
2、指定 targetOrigin 可以确保窗口仅在当前仍处于正确的网站时接收数据。在有敏感数据时,这非常重要。

| 【示例】这里的 win 仅在它拥有来自 http://example.com 这个源的文档时,才会接收消息:```html