首页 >web前端 >js教程 >**如何可靠地确定 iFrame 是否已加载并包含内容?**

**如何可靠地确定 iFrame 是否已加载并包含内容?**

DDD
DDD原创
2024-10-24 21:48:03791浏览

**How to Reliably Determine if an iFrame Has Loaded and Contains Content?**

确定 iFrame 加载状态以进行内容检测

在 Web 开发中,通常需要将内容动态加载到 iFrame 中。为了确保功能正常并避免潜在错误,确定 iFrame 何时成功加载并包含内容至关重要。

问题:

考虑具有变量加载的 iFrame时间。您需要一种方法来检测 iFrame 是否已完成加载或获取内容。 iframe.contents().find() 或 iframe.load(function()) 等方法可能并不总是可行。

解决方案:

这是一个 JavaScript有效检查 iFrame 加载状态的函数:

<code class="javascript">function checkIframeLoaded() {
    // Get iframe reference
    var iframe = document.getElementById('i_frame');
    var iframeDoc = iframe.contentDocument || iframe.contentWindow.document;

    // Check if loading is complete
    if (iframeDoc.readyState == 'complete') {
        // Loading is complete
        afterLoading();
        return;
    } 

    // Set timeout for re-checking
    window.setTimeout(checkIframeLoaded, 100);
}

function afterLoading(){
    // Execute desired code after iFrame load
}</code>

中在您的 HTML 文档中,添加以下内容:
<code class="html"><body onload="checkIframeLoaded();"></code>

此函数会定期检查 iFrame 的 readState 属性,该属性指示其加载状态。当readyState等于'complete'时,iFrame已加载,您可以通过afterLoading()函数执行任何所需的代码。

以上是**如何可靠地确定 iFrame 是否已加载并包含内容?**的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn