JavaScript/jQuery : detect if iframe page failed to load

标签 javascript jquery iframe

我有一个加载外部域的 iframe,有时该域出现故障或超时。我一直在试图弄清楚如何检测 iframe 页面是否加载失败。我无法使用 AJAX,因为域与主机页面不同(跨域保护)。

这是我认为它应该如何工作的示例代码(但它没有):

<!doctype html>
<html>
  <head>
  </head>
  <body>
    <iframe id="myIframe" src="http://www.domain.com/"></iframe>
    <script src="jquery.min.js"></script>
    <script>
        $('#myIframe').on('load',function() {
            alert('Loaded correctly');
        });
        $('#myIframe').on('error',function() {
            alert('Load failed!');
        });
    </script>
  </body>
</html>

我无法在远程域上添加代码或上传 jsonp 文件,因此 AJAX/JSONP 技巧是不可能的(据我所知)。

最佳答案

试试这个:

$($('#myIframe')[0].document).ready(function() {
   alert('loaded');    
});

http://jsfiddle.net/DepKF/33/

关于JavaScript/jQuery : detect if iframe page failed to load,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17098900/

相关文章:

javascript - 在 JavaScript 中通过索引从对象数组中获取值?

javascript - 客户端发送值到node.js并设置为cookie

javascript - 删除所有带有 javascript 类的元素

javascript - HTML 表单提交按钮不调用成功方法?

javascript - Webview 无法在 android L 设备中加载 JavaScript Alert

javascript - 向显示/隐藏相应元素的几个类似按钮添加 onclick 函数

javascript - 在 videojs 中重写全屏

javascript - 根据里面的&lt;iframe&gt;改变<div>的高度

javascript - 如何用css得到iframe无缝效果

javascript - 如何在加载时显示进度条,使用ajax