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

面试从微前端拓展到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.xdnf.cn/news/6485.html

相关文章:

  • 初始化一个Springboot项目
  • 基于正点原子探索者开发板的简易音乐播放器
  • doris节点数量规划
  • 设计并应用一个IIR-ButterWorth-Filter的例子
  • 前端工程化
  • MySQL如何查看某个表所占空间大小?(表空间大小查看方法)
  • C#自定义控件-实现了一个支持平移、缩放、双击重置的图像显示控件
  • AMC8 -- 2009年真题解析(中文解析)
  • RHCA笔记
  • 高效电脑隐私信息清理实用工具
  • AIStarter使用技巧|如何通过日志判断项目启动完成?倒计时设置与脚本优化方法详解
  • 计量——检验与代理变量
  • 低分辨率运行安卓模拟器:
  • 查看字节真实二进制形式示例解析2
  • 《探秘光纤通信:多模光纤和单模光纤的区别》
  • Logistics | 供应链物流术语
  • 【js】JavaScript的变量提升、函数声明提升
  • ANTsPy:医学影像处理python库
  • Python继承
  • Java 异常处理之 BufferOverflowException(BufferOverflowException 概述、常见发生场景、避免策略)
  • 效法自然--让“存在”代替“价值”
  • DeepSearch:字节新一代 DeerFlow 框架
  • 9. 表的内连和外连
  • Linux | Linux系统安装虚拟机教程(超级简单)
  • Hashmap 和 map的区别
  • 入门消息队列
  • ProceedingJoinPoint的认识
  • 机器学习分类
  • AM1.5G太阳光模拟器参数
  • DeepSeek推理优化技巧:提升速度与降低成本