postMessage用法
时间: 2024-01-05 08:17:56 浏览: 93
postmessage的应用
4星 · 用户满意度95%
postMessage是一种用于在不同窗口或文档之间进行异步通信的方法。它允许来自不同源的脚本进行有限的通信,可以实现跨文本档、多窗口、跨域消息传递。与sendmessage相比,postmessage更加灵活,因为它可以在不同的窗口之间传递数据,而不仅仅是在同一进程内的不同线程之间传递数据。使用postmessage时,需要指定要发送的消息、目标窗口的origin和可选的Transferable对象。其中,消息可以是任何JavaScript对象,origin是目标窗口的源,Transferable对象是可以通过postmessage传递的对象,例如Blob或ArrayBuffer。下面是一个postmessage的用法示例:
```javascript
// 发送消息
var targetWindow = window.parent;
var message = { type: 'hello', data: 'world' };
targetWindow.postMessage(message, 'http://example.com');
// 接收消息
window.addEventListener('message', function(event) {
if (event.origin !== 'http://example.com') return;
console.log('Received message:', event.data);
});
```
阅读全文