Javascript 使用iframe嵌入的陷阱是什么

Javascript 使用iframe嵌入的陷阱是什么,javascript,iframe,embed,sandbox,elm,Javascript,Iframe,Embed,Sandbox,Elm,我正在尝试使用Elm构建一个可重用的仪表板式UI,以便通过yaml文件进行声明性配置 yaml文件将指定一组可嵌入的web应用程序(不仅基于elm,理想情况下还包括react/angular/vue)包含在此UI的每个实例中,例如通过指定标签和存储库url 我曾尝试使用传统的Elm/React方法来接管一个标准的非iframedom元素,但存在各种问题。(主要是,elm取代了它接管的元素,这意味着各种应用程序不能共享同一个容器) 如果你愿意,你可以在这里看到完整的概念证明 有更好的方法吗?(我

我正在尝试使用Elm构建一个可重用的仪表板式UI,以便通过yaml文件进行声明性配置

yaml文件将指定一组可嵌入的web应用程序(不仅基于elm,理想情况下还包括react/angular/vue)包含在此UI的每个实例中,例如通过指定标签和存储库url

我曾尝试使用传统的Elm/React方法来接管一个标准的非iframedom元素,但存在各种问题。(主要是,elm取代了它接管的元素,这意味着各种应用程序不能共享同一个容器)

如果你愿意,你可以在这里看到完整的概念证明

有更好的方法吗?(我肯定有)但是,如果我决定使用iFrame,我可能会遇到什么问题?我只找到了反对iframe的轶事证据,而且(特别是沙箱)它们看起来很理想

提前感谢

来自

就像使用iFrame一样,用iFrame构建页面并不是一种新技术,可能看起来也并没有那个么令人兴奋。但如果我们重新审视微前端的主要好处,iFrame基本上符合要求,只要我们对如何划分应用程序和构建团队保持谨慎

我们经常看到很多人不愿选择iFrame。虽然这种不情愿似乎是由一种直觉驱使的,即iFrame有点“恶心”,但人们有一些很好的理由避免使用它们。上述简单的隔离确实会使它们比其他选项更不灵活。在应用程序的不同部分之间构建集成可能很困难,因此它们会使路由、历史记录和深度链接变得更加复杂,并且会给页面的完全响应带来一些额外的挑战


我使用iframe没有问题

与嵌入在iframe中的javascript代码进行通信是可行的,但我总觉得这样的代码是固定在一起的,缺乏优雅

我在父网页和iframe之间设置消息,以克服域问题,并澄清父网页和iframe之间发生的通信

Cookie和iFrame不能很好地跨域运行,但这是可以解决的