postMessage 简介

482 阅读1分钟

postMessage 的定义

postMessage 是 html5 引入的 API,postMessage() 方法允许来自不同源的脚本采用异步方式进行有效的通信,可以实现跨文本文档,多窗口,跨域消息传递。多用于窗口间数据通信,这也使它成为跨域通信的一种有效的解决方案。

发送数据

otherWindow.postMessage(message, targetOrigin, [transfer]);

接收数据

window.addEventListener("message", receiveMessage, false) ;
function receiveMessage(event) {
     var origin= event.origin;
     console.log(event);
}

postMessage的使用场景

跨域通信(包括GET请求和POST请求)

WebWorker

Service Worker

参考文章

postMessage可太有用了