业务场景:
父页面需要打开一个跨域的子页面,子页面在执行完某个业务操作后关闭子页面(关闭在父页面打开的弹窗);
父页面js
//父页面js
function Update_datavalue(){
layer.open({
type: 2,
area: ['100%', '100%'],
fix: true,
shade:false,
offset: ['10px', '0px'],
btn: ['关闭'],
title: false,
content: '你的跨域请求URL'
});
}
//用于监听子页面回传的消息
window.addEventListener('message', receiveMessage, false)
//接收到子页面回传消息后关闭当期页面弹窗
function receiveMessage(event) {
const msg = JSON.parse(event.data)
layer.close(layer.index);
console.log(msg, '----->>>')
}
//子页面js
function ceshi(){
window.parent.postMessage(JSON.stringify({
type: 'yes',
ctx: '我收到您发送的消息了!'
}), '*')
}