针对window.open()打开的新窗口与原窗口之间的通信问题。
父窗口
window.open(’href‘, ‘_blank’) // href 跳转连接 window.addEventListener(‘message’, this.receiveMessage, false)` // 子窗口发生变化后回调函数 receiveMessage (event) { // event.data 发送过来的消息。 // event.origin 子窗口连接地址 if (event.origin !== url) return // 建议校验子窗口地址, url校验地址 if (event.data !== ‘01’) return /* 执行触发函数 */ },
子窗口
// 使用opener.postManage 触发父窗口, data 需要向父窗口传递的参数 window.opener.postMessage(data, window.location)