Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

改进iframe沙箱的子应用渲染方式 #1485

Open
l246804 opened this issue Dec 24, 2024 · 0 comments
Open

改进iframe沙箱的子应用渲染方式 #1485

l246804 opened this issue Dec 24, 2024 · 0 comments

Comments

@l246804
Copy link

l246804 commented Dec 24, 2024

背景

开发中后台管理应用,需要嵌入多个不同子项目,希望能够在主应用侧解决嵌入的子应用布局问题,通过事件中心在布局中处理主子应用交互。

期望的效果

  1. 主应用开发一套布局,并构建出一个库文件,默认主应用进入时加载自身的布局入口,此时启动第一个iframe子应用,并将其样式设置为全屏;
  2. 子应用通过判断是否处于微前端环境,若是处于则加载主应用提供的库文件,加载后将会初始化一套同主应用一致的基础布局;
  3. 子应用将自身页面视图嵌入到主应用提供的基础布局的内容区域进行渲染。

样式隔离

子应用无需进行任何样式处理,只需保证不会与主应用提供的基础布局样式冲突即可,主应用可通过ShadowDom进行样式隔离。

JS沙箱

iframe自身支持硬隔离,无需做特定处理,但部分api可能需要进行劫持代理:location.href、window.open、a标签、history.replaceState、history.pushState。

效果图

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant