在 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中文网其他相关文章!