【发布时间】:2019-08-27 05:09:30
【问题描述】:
我正在设置一个微前端解决方案,其中包含位于主窗口中的主集成应用程序和一堆带有服务的 iframe(子应用程序)。此服务是 SPA,但不是必需的,并且是从其他域提供的,但我可以控制它们。主应用程序需要从底层服务获取一些配置,它的工作方式如下 - 一对嵌入的 url 集成到 index.html 中,主应用程序知道要加载什么,然后它需要通过 postMessage API 等待事件,每个一个iframe。
这里的问题是主应用程序在初始化阶段不知道 iframe 内是否出现问题:服务因不同原因而关闭,应用程序未加载到 iframe 中,或者应用程序未加载到 iframe 中iframe 失去与服务器的连接或 JS 语法错误。检测到这一点的唯一方法就是使用超时,但这不是最好的用户体验。用户在看到错误之前会等待 30 秒。
是否有任何可能的方法可以从主窗口访问 iframe?可能是通过使用CORS? XHR 请求很清楚,但我没有找到有关 iframe 和 CORS 的信息。
【问题讨论】:
-
您可以在 iframe 中更改哪些内容?一切,可能吗?
-
我至少需要通过
iframeEl.contentWindow.onerror获取错误。
标签: javascript iframe cors cross-domain