微前端为何不推荐 iframe
使用
iframe
会大幅增加内存和计算资源,因为iframe
内所承载的页面需要一个全新并且完整的文档环境iframe
与上层应用并非同一个文档上下文,导致一系列问题
2.1 事件冒泡无法传到主文档
2.2 跳转路径无法与上层文档同步,导致刷新后路由丢失
2.3 iframe
内的视窗边界问题,导致遮罩样式无法覆盖浏览器
2.4 登录态无法通过 cookie 共享
2.5 iframe
应用加载失败或报错时,主应用无法感知
2.6 难以分析 iframe
应用的性能问题
无法预加载和缓存
iframe
内容无法共享基础库,导致包体积大量重复
主应用和子应用事件通信繁琐