vue 中使用iframe内嵌页面并通信

场景:在内嵌的webform页面中,点击了保存按钮,执行逻辑后 需要把 外层vue的 dialog 关闭,也就是调用vue的关闭窗口方法

1:老页面点击

cs后台代码 调用js
//vue 内嵌的话
RegisterClientScriptBlock(“”, “<script type=“text/javascript” language=“javascript”>closevue();”);

js页面向vue传递信息postMessage
function closevue() {
alert(“保存成功,即将关闭页面”)
//iframe向vue传递信息
window.parent.postMessage({
cmd: ‘myIframe’,
params: {
info: ‘iframe向Vue传递的消息’,
}
}, ‘*’);

}

vue:
监听消息 获取信息后调用 close方法 进行关闭窗体Visible
mounted() {
window.addEventListener(‘message’,this.getiframeMsg)
},
methods: {
close () {
this.value = { Utl: ‘’, Title: ‘’, Visible: false };
},
// vue获取iframe传递过来的信息
getiframeMsg(event){
const res = event.data;
//console.log(event)
if(res.cmd == ‘myIframe’){
this.close();
}
},
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值