首页  >  文章  >  web前端  >  如何确定 iFrame 是否已加载并包含内容?

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

DDD
DDD原创
2024-10-24 20:06:02811浏览

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

如何确定 iFrame 加载或内容存在

问题:

您寻求一种方法确定 iFrame 是否已成功加载或包含内容,因为标准方法可能不够。确定加载状态对于触发特定操作或处理加载花费过多时间的场景至关重要。

解决方案:

要有效解决此问题,请考虑以下方法:

<script><br>函数 checkIframeLoaded() {</p>
<pre class="brush:php;toolbar:false">// Obtain the iFrame element
var iframe = document.getElementById('i_frame');
var iframeDoc = iframe.contentDocument || iframe.contentWindow.document;

// Evaluate loading status
if (  iframeDoc.readyState  == 'complete' ) {
    // Loading is completed; execute desired functionality
    afterLoading();
    return;
} 

// Loading is incomplete; re-check in 100 milliseconds
window.setTimeout(checkIframeLoaded, 100);

}

函数 afterLoading(){

alert("I am here");

}

该脚本的操作如下:

  1. 获取 iFrame 元素: 脚本通过 ID 定位 iFrame 元素。
  2. 检查加载状态:它检查iFrame的readyState属性。当设置为“完成”时,表示加载完成并触发 afterLoading() 函数。
  3. 递归检查:如果加载未完成,脚本会等待 100 毫秒,然后重新加载评估 iFrame 的状态。这种递归方法确保脚本定期检查,直到加载完成。
  4. 执行自定义函数:完成后,afterLoading() 函数可用于执行任何所需的操作,例如显示通知或进一步处理加载的内容。

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

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