vue 与 iframe 之间通信

1.iframe内参数返回处理;


2.页面往iframe传参--动态修改 iframe 内容

  • 如果不想嵌套整个页面,而是只嵌套部分内容,可以通过 postMessage 实现父子页面通信,动态修改 iframe 内容。

父页面:

<template>
  <div>
    <h1>父页面</h1>
    <iframe ref="myIframe" :src="iframeUrl" width="100%" height="500px"></iframe>
  </div>
</template>

<script>
export default {
  data() {
    return {
      iframeUrl: window.location.origin + '/iframe-content', // 指向子页面
    };
  },
  mounted() {
    // 向 iframe 发送消息
    const iframe = this.$refs.myIframe;
    iframe.onload = () => {
      iframe.contentWindow.postMessage({ type: 'UPDATE_CONTENT', data: '动态内容' }, '*');
    };
  },
};
</script>

子页面(iframe-content):

<template>
  <div>
    <h1>子页面</h1>
    <p>{{ message }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      message: '默认内容',
    };
  },
  created() {
    // 监听父页面消息
    window.addEventListener('message', (event) => {
      if (event.data.type === 'UPDATE_CONTENT') {
        this.message = event.data.data;
      }
    });
  },
};
</script>
posted @   盘思动  阅读(18)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
历史上的今天:
2018-02-08 图片上打字
点击右上角即可分享
微信分享提示