当前位置: 首页 > news >正文

面试从微前端拓展到iframe是如何通信的

一、跨域通信

1、父页面发消息给 iframe
const iframe = document.getElementById('myIframe'); 
iframe.contentWindow.postMessage('form parent', 'https://iframe-domain.com')// iframe 接收
window.addEventListener('message', (event) => {if (event.origin !== 'https://parent-domain.com') {return; // 检查消息来源以确保安全}console.log('Message from parent:', event.data);
})
2、发消息给父页面:
window.parent.postMessage('from iframe', 'https://parent-domain.com')// 父页面接收
window.addEventListener('message', (event) => {if (event.origin !== 'https://iframe-domain.com') {return; // 检查消息来源以确保安全}console.log('Message from iframe:', event.data)
})

二、同源通信

1、共享存储

localStoragesessionStorage

2、通过 iframe DOM 直接调用

父页面调用 iframe

const iframe = document.getElementById('myIframe')
iframe.contentWindow.someFunction()

iframe 调用父页面方法

window.parent.someFunction() 
http://www.dtcms.com/a/193192.html

相关文章:

  • 计量——检验与代理变量
  • 【备忘踩坑】Android单元测试中读取测试assets的方法
  • EdgeShard:通过协作边缘计算实现高效的 LLM 推理
  • NY244NY249美光闪存颗粒NY252NY256
  • U9C与钉钉审批流对接完整过程
  • 数据结构—排序(斐波那契数列,冒泡,选择,插入,快速,归并,图,广度优先算法)
  • 【Docker】Docker安装Redis
  • Git命令总结
  • 2025年大厂C++面试题总结与解析
  • 【C++】解析C++面向对象三要素:封装、继承与多态实现机制
  • Remote Desktop安卓远程无法使用中文输入法
  • deepseek讲解如何快速解决内存泄露,内存溢出问题
  • C#数据类型
  • Python中常用的数据类型
  • 反向传播
  • 2、ubantu系统配置OpenSSH | 使用vscode或pycharm远程连接
  • 软件设计师考试《综合知识》CPU考点分析(2019-2023年)——求三连
  • 【QT 项目部署指南】使用 Inno Setup 打包 QT 程序为安装包(超详细图文教程)
  • 基于EFISH-SCB-RK3576/SAIL-RK3576的消防机器人控制器技术方案‌
  • Linux云计算训练营笔记day09(MySQL数据库)
  • 进度管理高分论文
  • 在 Hugo 博客中集成评论系统 Waline 与 浏览量统计
  • 基于“物理—事理—人理”的多源异构大数据融合探究
  • bfs搜索加标记连通区域id实现时间优化(空间换时间)
  • Go语言八股之Mysql事务
  • 扬州卓韵酒店用品:优质洗浴用品,提升酒店满意度与品牌形象
  • TCP(传输控制协议)建立连接的过程
  • Git/GitLab日常使用的命令指南来了!
  • 前端代码生成博客封面图片
  • 寻找两个正序数组的中位数 - 困难