javascript - jQuery:检测 X 部分后未加载的 iFrame

标签 javascript jquery iframe

我正在从另一个域的模态窗口中加载 iFrame,但有时该框架无法加载,或者需要 20 秒以上的时间才能加载。这是代码:

HTML:

<div id="mask">
    <div id="iframe_lightbox">
        <div id="iframe_container"><iframe id="patternCoolerIframe" style="width: 100%; height: 100%;" src="" frameborder="0" ></iframe></div>
        <div id="iframe_lightbox_close">X</div>
    </div>
</div>

JS:

function launch_iFrame(iframeSrc, iframeID){
        $("#mask").fadeTo('500', 1, function () {

        $('<iframe>', {
           src: iframeSrc,
           id:  'iframeID',
           frameborder: 0,
           scrolling: 'no',
           width: '100%',
           height: iFrameH+'px'
        }).appendTo('#iframe_container');
    });
}

如何检测 X 秒后内容是否尚未加载到 iframe 中?我想向用户显示一条消息,或者刷新页面。

最佳答案

您可以使用计时器并检查 onload 处理程序是否已触发

function launch_iFrame(iframeSrc, iframeID){

    var timer = setTimeout(function() {
        alert('The iFrame didn\'t load in five seconds !');
    }, 5000);

    $("#mask").fadeTo('500', 1, function () {

        $('<iframe>', {
            src         : iframeSrc,
            id          : 'iframeID',
            frameborder : 0,
            scrolling   : 'no',
            width       : '100%',
            height      : iFrameH+'px',
            on          : {
                load : function() {
                    clearTimeout(timer); // remove timer when iFrame loads
                }
            }
         }).appendTo('#iframe_container');
     });
}

关于javascript - jQuery:检测 X 部分后未加载的 iFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40440308/

相关文章:

javascript - 保护 JavaScript 网页应用/游戏的方法有哪些?

javascript - 如何在连接 JavaScript 句子时添加空格

Internet Explorer 中的 jquery show()/hide() 问题?

javascript - Superfish 菜单在 IE9 中显示结构损坏,在 Chrome 中工作正常

javascript - 向 simplecart js 图像源添加拇指未定义

javascript - TINYMCE V3 或 V4 在聚焦/模糊时显示/隐藏工具栏

php - 使用 2 个查询的 Ajax PHP 更新

javascript - 取消框架上的导航?

javascript - iphone webview 和 iframe 问题

javascript - iframe onclick 动画或切换