Firefox:检测iframe是否无法加载

时间:2018-06-21 14:28:45

标签: javascript firefox iframe

我正在尝试加载应该在同一主机上显示不同页面的iframe(因此此处没有CORS问题),但是我想知道iframe是否无法加载(例如,网络问题),并且在这种情况下,请运行一些任意的JS代码(例如,隐藏iframe并向用户显示警告)。

这是我到目前为止所拥有的:

iframe.onload = function() {
    try {
        console.log(this.contentWindow.document);
        // If we get here, the iframe is loaded
        doSomethingWithTheLoadedIframe();
    } catch(e) {
        doSomethingWithTheError();
    }
}

以上内容对于Chrome和Internet Explorer都可以正常使用,但是Firefox chooses not to execute the onload callback。因此,现在我无法找到任何片段,让我知道何时iframe实际加载失败(如果加载失败)。

我也尝试了How to detect when an iframe has already been loaded中定义的方法,但是即使iframe没有加载,这始终能为Firefox返回成功。

那么您能想到其他选择吗?跨浏览器解决方案当然是最好的,但是如果需要,我很乐意使用if语句来以不同的方式处理Firefox逻辑。

0 个答案:

没有答案