postMessage

postMessage(message, targetOrigin);
message :信息内容,低版本浏览器只支持字符串,高版本可以各种数据都行
targetOrigin :目标窗口的源,可以是字符串*表示无限制,或URI,需要协议端口号和主机都匹配才会发送
window.onload = function(){

//iframe模拟
window.frames[0].postMessage("str","协议+域名+端口号【url可加可不加】")
}
接收postMessage发送的信息MessageEvent
window.addEventListener("message", function(event){
//var origin = event.origin || event.originalEvent.origin;
if(event.source!=window.parent) return;//不是父窗口发的就不接收
....
}, false);
MessageEvent四个属性:
1.message(类型)
2.data(window.postMessage的第一个参数)
3.origin(调用postMessage时页面的当前状态)
4.source(调用postMessage的窗口信息)

原文地址:https://www.cnblogs.com/xinyouhunran/p/10209622.html