当前位置: 首页 > 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() 

相关文章:

  • 计量——检验与代理变量
  • 【备忘踩坑】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数据库)
  • 会谈时间迟迟未定、核心议题存在分歧,俄乌“土耳其谈判”一波三折
  • 牛市早报|持续推进城市更新行动意见印发,证监会强化上市公司募资监管
  • 安徽省委常委、合肥市委书记费高云卸任副省长职务
  • 英国首相斯塔默住所起火,警方紧急调查情况
  • 朝着解决问题的正确方向迈进——中美经贸高层会谈牵动世界目光
  • 中美瑞士会谈后中国会否取消矿产出口许可要求?外交部回应