vue2.0项目中组件和iframe之间如何传值

vue2.0项目中组件和iframe之间如何传值

一、vue组件

 mounted() {
    // 注册 message 事件监听器,只注册一次
   window.addEventListener('message', this.handleFromIframeMessage)
},
beforeDestroy() {
     // 移除事件监听器
     window.removeEventListener('message', this.handleFromIframeMessage)
 },
 
// 获取要传递的信息传递
 sendMessageToIframe() {
     const iframe = document.getElementById('iframeContainer')
     接口().then(({ data }) => {
         console.log(data, '请求到相关信息')
         this.Agent = data.exten
         iframe.contentWindow.postMessage(
             {
                 password: data.password,
                 proxyUrl: decrypt(data.proxyUrl),
                 userName: data.exten + '@shzxxx',
                 agentStatus: data.agentStatus+'',
             },
             '*'
         )
     })
 },
 // 处理从 iframe 接收到的消息
 handleFromIframeMessage(event) {
     console.log('vue组件', event.data)
     if (event.data.type == 'ncomingCall' && this.Agent == event.data.Agent) {
        //vue组件处理收到iframe页面数据后相关逻辑
     }
 },

二、iframe组件

window.addEventListener('message', function (event) {
    // 检查消息的来源是否是预期的 Vue 组件页面
    console.log('iframe页面', event.data)
    //iframe页面收到vue组件传递相关数据处理
})

//iframe组件向vue组件传递数据
 window.parent.postMessage(json, '*')

在这里插入图片描述
结束啦!

链接: https://blog.csdn.net/tangdou369098655/article/details/131467799

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值