iframe挂载子应用本质是利用浏览器原生隔离能力,创建独立浏览上下文,天然实现JS/CSS/DOM三层隔离,不依赖JS沙箱或HTML解析,是唯一真正HTML层级的沙箱方案。
标签在微前端架构中挂载子应用,本质是利用浏览器原生的隔离能力,而非依赖 JS 沙箱或 DOM 解析逻辑。它不走 HTML Entry 的 fetch + DOMParser 路径,而是直接创建一个独立浏览上下文,天然具备 JS、CSS、DOM 三层隔离。iframe 是唯一真正 HTML 层级的沙箱
src="about:blank" 初始化后,用 document.write() 注入子应用 HTML,并显式设置 <base href="https://sub.example.com/">,确保内部资源路径解析正确;https://sub.example.com/index.html),主应用仅控制其显示/隐藏与尺寸,无法读写其 DOM 或执行脚本;主应用如何挂载 iframe 子应用
<iframe> 元素,设置 src 指向子应用部署地址(必须是完整 URL,含协议);<div id="app1-container"></div>),而非直接塞进 body;sandbox 属性可进一步限制能力(如禁用 script、表单提交等),但生产环境通常只需 allow-scripts allow-same-origin(同域时)或默认策略(跨域时);postMessage 实现主子通信,双方需约定消息格式并校验 event.origin,避免 XSS 风险。关键配置要点
base: '/app1/',且该路径要与主应用路由激活规则(如 activeRule: '/app1')对齐;width: 100%; height: 100% + 父容器有确定尺寸),避免滚动条或空白;不建议混合使用的场景
本质上,iframe 挂载不是“注入 HTML 字符串”,而是“加载一个独立页面”。它简单、可靠、隔离彻底,适合业务边界清晰、技术栈异构、安全要求高的子应用集成。
tlwdr7650路由器没有wps按钮(tlwdr7650路由器没有wps按钮怎么办)
tlwdr7632扩展器电脑怎么设置(tlwdr7632扩展器电脑设置方法)
tlwda6332re安装教程(tlwda6332re如何安装)
tlwdr7632扩展器手机怎么设置(tlwdr7632扩展器手机设置方法)
tlxdr3010怎么设置网速快(tlxdr3010网速快设置方法)
tlwdr5620易展版怎么克隆(tlwdr5620易展版克隆方法)