如何从跨域iframe捕获(初始化)错误?

时间:2019-04-05 10:05:08

标签: javascript iframe cors cross-domain

我正在设置一个微型前端解决方案,其中包含驻留在主窗口中的主要集成应用程序以及一堆带有服务的iframe(子应用程序)。此服务是SPA的服务,但不是必需的,可以从其他域中获得服务,但我可以控制它们。主应用程序需要从基础服务中获取一些配置,并且其工作方式如下-将几个嵌入的url集成到index.html中,主应用程序知道要加载的内容,然后需要通过postMessage API等待事件,每个事件一个iframe。

这里的问题是主应用程序在初始化阶段不知道iframe内是否出了什么问题:由于各种原因导致服务关闭,并且该应用程序未加载到iframe内,或者应用程序未加载到iframe内iframe失去了与服务器的连接或JS语法错误。检测到此错误的唯一方法就是使用超时,但这并不是最好的UX。例如,用户将等待30秒才能看到错误。

是否有任何可能的方法可以从主窗口访问iframe?可能是通过使用CORS? XHR请求很明显,但是我没有找到有关iframe和CORS的信息。

1 个答案:

答案 0 :(得分:1)

  

是否有任何可能的方法可以从主窗口访问iframe?

postMessage,您已经在使用。

  

可以使用CORS吗? XHR请求很明显,但是我没有找到有关iframe和CORS的信息。

您不能使用CORS通过框架授予跨原点访问权限。