业务场景:
父页面需要打开一个跨域的子页面,子页面在执行完某个业务操作后关闭子页面(关闭在父页面打开的弹窗);
父页面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: '我收到您发送的消息了!' }), '*') }
复制