一、前言
postMessage是H5的跨域传参方式,坑比较多,以下为自己亲测可指定ip地址的传参!
二、正文
1、参数发送方
//例如点击1个按钮,打开新的页面
document.getElementById("btn").onclick = function () {
//打开子页面,指定传参ip地址
var newWindow = window.open("http://localhost:8080")
//监听message事件,当子页面打开完成,并且反馈加载完成消息的时候,
//进行参数的传递
window.onmessage =function (e) {
//可指定要传参数到ip地址,这个要传参数到http://localhost:8080中
if(e.origin == "http://localhost:8080"){
newWindow.postMessage({
sysNo:"02"//系统号
},"http://localhost:8080")
}
}
}
2、参数接收方
//被传参的页面加载完成后,向发送数据的页面发个信息,只有子页面加载完成后,传参才会成功!这点至关重要!
window.opener.postMessage("ok","http://10.31.57.80:82")
//监听数据变化,用来截取postMessage传来的数据
window.addEventListener("mess