微前端介绍

2023-11-10

提到微前端,稍微懂微前端的同学,可能会这样问,为什么不用iframe方案呢?
其实,如果不考虑体验问题,iframe方案几乎是最完美的微前端解决方案;

iframe最大的特性就是提供了浏览器原生的硬隔离方案(样式隔离、js隔离),但它最大的问题也在于此,隔离性无法突破,应用间上下文无法被共享。

iframe存在哪些问题?这里简单说说。

  • url不同步。
    • 浏览器刷新会重置(比如从列表页跳转到详情页、然后点击浏览器刷新按钮,会返回列表页,因为浏览器地址栏没有变化),导致iframe url状态丢失,浏览器的前进、后退按钮无法使用;
    • iframe和主页面共用一个浏览历史,iframe多次重定向,会导致浏览器的前进后退功能无法正常使用;
  • UI不同步,DOM结构不共享。弹框及遮罩层问题:只能在iframe范围内垂直水平居中,没有办法在整个页面垂直水平居中;
  • 全局上下文完全隔离,内存变量不共享。iframe 内外系统的通信、数据同步等需求,主应用的 cookie 要透传到根域名都不同的子应用中实现免登效果。
  • 慢。每次子应用进入都是一次浏览器上下文重建、资源重新加载的过程。

不同源的系统之间的通讯需要通过 postMessage,存在一定的安全性;

事件处理也是个问题,比如实现顶层菜单展开时,需要点击空白处收起,如果点到iframe则无法触发

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

微前端介绍 的相关文章

  • vue使用jsencrypt实现rsa前端加密

    实现 RSA 加密 介绍 vue 完成 rsa 加密传输 jsencrypt 实现参数的前端加密 1 安装 jsencrypt npm install jsencrypt 2 编写 jsencrypt js 在 utils 文件夹中新建 j
  • 数据可视化——Davinci

    数据可视化 Davinci对比及功能使用 文档地址 一 数据可视化 个人引用部分 1 有趣的意义 2 常规的意义 二 图形的内涵 1 图形类型 2 优秀可视化的特点 三 可视化需求分析 1 四个问题 2 三个沟通点 四 Davinci功能详

随机推荐

  • 二分查找 —— 有序数组不小于(不大于)某数的第一个(最后一个)元素

    1 不小于某数的第一个元素 def bisearch l e lo hi while lo lt hi mi lo hi 2 if e gt l mi lo mi 1 else hi mi return hi 注 1 不同于寻找等于某值的情
  • 【C】PTA期末分数排序(归并排序)

    考试结束了 全班同学的分数都出来了 老师需要对分数做一次排序 看看从高到低 分数的排列是怎样的 输入格式 第一行是一个n 表示班级同学的人数 1 lt n lt 500000 第二行开始有n个分数 0 lt 分数 lt 100 分数都是整数
  • [从零开始学习FPGA编程-23]:进阶篇 - 基本组合电路-门电路级组合逻辑运算(Verilog语言)

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 125246093 目录 前言 第1章
  • 排序函数 dense_rank()

    dense rank 对结果集进行排序 排名值没有间断 特定行的排名等于该特定行之前不同排名值的数量加一 语法 DENSE RANK OVER
  • error when starting dev server: Error: Cannot find module ‘node:url‘

    需要升级node版本 直接在官网 下载 Node js 上下载最新的msi 安装到原来node的安装目录下即可
  • 降雨预测方法

    降雨预测方法 DBNPF Deep Belief Network for Precipitation Forecast 来源 张雷师兄论文 A deep learning based precipitation forecasting 模型
  • centos 7 安装总结

    CentOS Community ENterprise Operating System 社区企业操作系统 Linux发行版之一 来源于Red Hat Enterprise Linux依照开放代码规定释出的源代码所编译而成 安装注意 安装c
  • 如何用python爬取大量博客

    如果要使用 Python 爬取大量博客 可以使用爬虫框架 例如 Scrapy 首先 需要对目标网站进行分析 确定数据的 URL 格式和数据的 HTML 标签 然后 可以使用 Scrapy 来编写爬虫代码 自动访问目标网站并提取需要的数据 具
  • 在 CLion 中进行整体替换代码

    突然在打题的时候发现int型无法满足题目要求 想要批量换成long long 使用快捷键 Ctrl Shift R Windows Linux 或 Command Shift R Mac 来打开 Find and Replace 对话框 在
  • 第一章 python初窥 课后练习题

    目录 1 输入1 127的ascii码并输出对应字符 2 输入a b c d4个整数 计算a b c d的结果 3 计算一周有多少分钟 多少秒钟 4 3个人在餐厅吃饭 想分摊饭费 总共花费35 27美元 他们还想给15 的小费 每个人该怎么
  • SpringBoot: Mybatis配置事务管理

  • awk 正则表达式、正则运算符详细介绍

    http www cnblogs com chengmo archive 2010 10 11 1847772 html 前言 使用awk作为文本处理工具 正则表达式是少不了的 要掌握这个工具的正则表达式使用 其实 我们不必单独去学习它的正
  • STM32CubeMX—串口空闲中断+DMA接收

    一 实验说明 实验平台 STM32F103C8T6 实验内容 使用串口一空闲中断结合DMA 完成不定长数据接收 STM32的串口接收数据的方式 1 轮询接收 所谓轮询 就是在主函数中判断接收完成的标志位 举个不太恰当例子 就比如 此时你正在
  • 【8086汇编】字符串逆序的实现,附代码

    目录 引言 题目 程序思想 程序例程 程序结果 改进思路 引言 之前有本科的同学需要做一个汇编程序 简单补了补发现自己会嘻嘻嘻 题目 题目 从键盘输入任一字符串 字符数 gt 1 在下一行以相反的次序显示出来 如 输入字符串123abc 在
  • 企业微信三方应用开发(三)企业微信第三方应用开发常见问题

    加我微信li570467731 拉你进二百多人企业微信开发同行群 文末有二维码 企业微信开发三部曲 企业微信应用开发概述篇 免费 已完结 企业微信开发第三方应用开发篇 更新中 企业微信开发自建内部应用开发 筹备中 关注公众号 ToB Dev
  • 详细解析Python爬虫代理的使用方法

    嗨 大家好 作为一名专业的代理IP供应商 我想和你们聊一聊爬虫中常用的代理IP类型以及如何在Python中使用代理IP 相信这篇文章会让你对Python爬虫代理IP的使用有更深入的了解 那么 不多说 让我们开始吧 首先 让我们来了解一下爬虫
  • Java基础——环境变量配置、注释、关键字、标识符

    目录 01 01 计算机基础知识 计算机概述 01 02 计算机基础知识 软件开发和计算机语言概述 01 03 计算机基础知识 人机交互 01 04 计算机基础知识 键盘功能键和快捷键 01 05 计算机基础知识 如何打开DOS控制台 01
  • mes选型与实施指南_中小制造企业,如何选型信息系统?

    一 前言 最近走访客户和讲课比较多 接触到了大量的中小制造企业 深刻体会到了制造企业的焦虑 也深刻体会到了中小企业期望进行数字化转型 期望实现智能制造的迫切愿望 但是受限于人才 受限于知识 受限于经验 对实现企业信息化的过程中 过多受到乙方
  • Revit 2011二次开发之得到选择的对象

    start Transaction TransactionMode Manual Regeneration RegenerationOption Manual public class Document Selection IExterna
  • 微前端介绍

    提到微前端 稍微懂微前端的同学 可能会这样问 为什么不用iframe方案呢 其实 如果不考虑体验问题 iframe方案几乎是最完美的微前端解决方案 iframe最大的特性就是提供了浏览器原生的硬隔离方案 样式隔离 js隔离 但它最大的问题也