iframe的替代品,用于微服务ui组合

iframe的替代品,用于微服务ui组合,iframe,microservices,Iframe,Microservices,我目前正在将多个微服务ui集成到一个web门户中。我有一个导航侧边栏,带有指向微服务的链接,该链接将加载到中心区域的iframe中 我对iframe有很多问题(框架选项标题的安全性、窗口大小等…) 您知道iframe的更好替代方案吗?如果您的微服务有可用的REST API,您可以使用嵌入的javascript代码而不是iframe。您的嵌入代码看起来像: (功能(){ var embeddedJavaScriptElement=document.createElement(“脚本”); Em

我目前正在将多个微服务ui集成到一个web门户中。我有一个导航侧边栏,带有指向微服务的链接,该链接将加载到中心区域的iframe中

我对iframe有很多问题(框架选项标题的安全性、窗口大小等…)


您知道iframe的更好替代方案吗?

如果您的微服务有可用的REST API,您可以使用嵌入的javascript代码而不是iframe。您的嵌入代码看起来像:


(功能(){
var embeddedJavaScriptElement=document.createElement(“脚本”);
EmbeddedJavaScriptElement.type=“text/javascript”;
EmbeddedJavaScriptElement.charset=“utf-8”;
EmbeddedJavaScriptElement.id=“嵌入脚本”;
EmbeddedJavaScriptElement.src=“”;
(document.getElementsByTagName(“head”)[0]| | document.getElementsByTagName(“body”)[0]).appendChild(EmbeddedJavaScriptElement);
})();

您已经用spring cloud和Zuul相应地标记了您的问题。我建议这就是正确的方法,因为这样你可以避免浏览器沙箱,也可以在你的服务上管理CORS头。只需将Zuul作为一项要求使用并包括在内,然后定义您的规则。我建议您从静态路由开始,如果您对Zuul熟悉并有信心,可以嵌入一个服务注册和发现,如Eureka、Concur或etcd。

Your'r right@daniel for spring cloud和Zuul,它们可以解决沙箱和CORS问题。对于多个微服务,除了iframe for ui composition(带标题、侧边栏、页脚)之外,您还知道什么吗?对于我来说,现在还不太清楚您想要实现什么。您是否有一些想要灵活显示的小部件库?像iGoogle那样的东西?或者,您只是想将来自各种较小服务的输入合并到一个页面中?我的意思是,您希望在客户端还是服务器端进行合并?在客户方面,我建议你调查一下。对于服务器端,只需获得一个以Thymeleaf为引擎的服务,即可检索所有内容并发送回完全呈现的html页面。简言之,我希望多个ui微服务共享一些常见部分:页眉、导航菜单、页脚等。。。