postMessage
时间: 2023-07-20 19:28:28 浏览: 138
PostMessage
postMessage是HTML5中新增的API,它可以在不同的窗口或iframe之间发送消息,实现跨域通信。postMessage的基本用法如下:
```
// 发送消息
targetWindow.postMessage(message, targetOrigin);
// 接收消息
window.addEventListener('message', event => {
// 处理接收到的消息
});
```
其中,`targetWindow`表示目标窗口,可以是其他窗口、iframe或者父窗口。`message`是要发送的消息,可以是任何JavaScript数据类型。`targetOrigin`表示目标窗口的域名,用于安全验证,如果不需要验证,可以设置为`'*'`。
在接收消息的窗口中,需要通过`window.addEventListener`方法监听`message`事件,当接收到消息时,会触发回调函数,事件对象`event`包含了发送者窗口、消息内容和消息来源等信息。
通过postMessage实现跨域通信,可以避免一些跨域限制,但也需要注意安全问题,避免被恶意利用。
阅读全文