简单vue父子iframe页面之间跨域通信传值postMessage()

简介: 简单vue父子iframe页面之间跨域通信传值postMessage()
学习过程中将笔记整理跟大家分享,希望对大家也有所帮助,共同成长进步💪~
如果大家喜欢,可以点赞或留言💕 ~~,谢谢大家⭐️⭐️⭐️~

1.父向子页面传值

a.vue 父页面 b.vue子页面

    <!--a.vue父页面 -->
    frameLabelStart--frameLabelEnd 
AI 代码解读
//a.vue 父级给子级发送数据
methods:{
    //data传递的数据
     sendMessage(data) {
     //判断子级的节点存在,$refs取vue节点
          if (this.$refs.mapFrame) {
            let iframeWin = this.$refs.mapFrame.contentWindow;  //获取这个属性
            iframeWin.postMessage(data, "*");   //发送数据
          }
    },
}

//b.vue 子级页面接受数据(和父级监听一样)
mounted(){
    //父页面监听发送过来的消息
    window.addEventListener("message", this.handleMessage);
},
methods:{
    //监听回调
    handleMessage(event){
        const data = event.data; //event.data里就是传过来的数据
    }
}
AI 代码解读

2.子向父页面传值

//b.vue 子级给父级发送数据
methods:{
    sendMessage(){
        window.parent.postMessage(data, "*");  //data传递的数据,“*”跨域的域名  *代表所有
    }
}

//a.vue 父级页面接受数据
mounted(){
    //父页面监听发送过来的消息
    window.addEventListener("message", this.handleMessage);
},
methods:{
    //监听回调
    handleMessage(event){
        const data = event.data; //event.data里就是传过来的数据
    }
}
AI 代码解读
谢谢大家阅读⭐️⭐️⭐️,如果喜欢,可以点赞或留言哟💕💕💕
vaelcy
+关注
目录
打赏
0
0
0
0
4
分享
相关文章
iframe嵌入页面实现免登录思路(以vue为例)
通过上述步骤,可以在Vue.js项目中通过 `iframe`实现不同应用间的免登录功能。利用Token传递和消息传递机制,可以确保安全、高效地在主应用和子应用间共享登录状态。这种方法在实际项目中具有广泛的应用前景,能够显著提升用户体验。
729 8
Vue 组件间通信的最佳实践
本文总结了 Vue.js 中组件间通信的多种方法,包括 props、事件、Vuex 状态管理等,帮助开发者选择最适合项目需求的通信方式,提高开发效率和代码可维护性。
Vue 组件间如何通信
Vue组件间通信是指在Vue应用中,不同组件之间传递数据和事件的方法。常用的方式有:props、自定义事件、emitattrs、$refs、provide/inject、Vuex等。掌握这些方法可以实现父子组件、兄弟组件及跨级组件间的高效通信。
Vue 组件间通信的方式有哪些?
Vue组件间通信主要通过Props、Events、Provide/Inject、Vuex(状态管理)、Ref、Event Bus等实现,支持父子组件及跨级组件间的高效数据传递与状态共享。
vue尚品汇商城项目-day04【28.详情页面Detail】
vue尚品汇商城项目-day04【28.详情页面Detail】
72 1
"Vue实战技巧大揭秘:一招解决路由跳转页面不回顶部难题,让你的单页面应用用户体验飙升!"
【10月更文挑战第23天】在Vue单页面应用中,点击路由跳转时,默认情况下页面不会自动滚动到顶部,这可能影响用户体验。本文通过一个新闻网站的案例,介绍了如何使用Vue-router的全局前置守卫和`scrollBehavior`方法,实现路由跳转时页面自动滚动到顶部的功能,提升用户浏览体验。
260 0
如何在 Vue 页面中禁止选择、右键、复制及 F12 开发者工具
【10月更文挑战第3天】 在前端开发中,保护页面内容不被随意复制或查看是一个常见需求。本文介绍了如何在 Vue 应用中实现禁止文本选择、右键菜单、复制操作以及 F12 开发者工具的方法。通过结合 CSS 和 JavaScript 事件监听,我们可以增加用户查看和复制内容的难度,尽管无法完全阻止高级用户。适当的防护措施可以为内容提供一层额外的保护,帮助开发者提升页面安全性。
906 0
|
1月前
|
vue实现任务周期cron表达式选择组件
vue实现任务周期cron表达式选择组件
121 4