js iframe传参

父级向iframe内部发送消息

// 获取iframe的引用
const mapFrame = this.$refs.iframeref;

// 处理浏览器兼容性
if (mapFrame.attachEvent) {
  // IE浏览器中使用attachEvent
  mapFrame.attachEvent('onload', function() {
    // 获取iframe内部的window对象
    const iframeWin = mapFrame.contentWindow;
    // 使用postMessage向iframe发送数据
    iframeWin.postMessage(data, '*');
  });
} else {
  // 其他浏览器使用onload事件
  mapFrame.onload = function() {
    const iframeWin = mapFrame.contentWindow;
    iframeWin.postMessage(data, '*');
  }
}

iframe内部接收消息

// iframe内部监听message事件,从父级接收数据
window.addEventListener('message', (event) => {
    // 获取从父级发送来的数据
    let form = event.data;
    // 对接收到的数据进行处理
    checkform(form);
}, false);

iframe内部向父级发送消息

// iframe内部使用postMessage向父级发送数据
window.parent.postMessage({
    abc: '123456',
}, '*');

父级接收iframe内部发送的消息

// 父级监听message事件,接收iframe内部发送的数据
window.addEventListener('message', (event) => {
  // 打印接收到的数据
  console.log(event.data);
}, false);

posted on   完美前端  阅读(1206)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示