插件窝 干货文章 怎么判断iframe加载完成

怎么判断iframe加载完成

iframe 加载 完成 class 837    来源:    2024-10-12

如何判断iframe加载完成:代码示例

在网页开发中,当需要加载外部页面或者其他网页时,常常会使用到iframe标签。但是,有时候我们需要在iframe加载完成后进行一些操作,比如获取iframe中的内容或者执行一些JavaScript代码。所以,判断iframe加载完成是一项很重要的任务。

下面我将分享几种判断iframe加载完成的方法,并提供具体的代码示例。

  1. 使用iframe的onload事件
    iframe标签提供了一个onload事件,当iframe内的内容加载完成后会触发该事件。我们可以通过在页面中嵌入一个隐藏的iframe,并监听其onload事件,来判断iframe是否加载完成。

HTML代码:

<iframe id="myIframe" src="external.html" style="display:none;"></iframe>

JavaScript代码:

var iframe = document.getElementById("myIframe");
iframe.onload = function() {
  // iframe加载完成后执行的操作
  console.log("iframe加载完成");
};
  1. 使用iframe的contentWindow属性
    通过iframe的contentWindow属性,我们可以获取到内嵌页面的window对象。利用这个对象,我们可以判断iframe中的文档是否加载完成。

HTML代码:

<iframe id="myIframe" src="external.html"></iframe>

JavaScript代码:

var iframe = document.getElementById("myIframe");
var iframeWindow = iframe.contentWindow;

var checkIframeLoaded = function() {
  if (iframe && iframe.contentDocument.readyState === 'complete') {
    // iframe加载完成后执行的操作
    console.log("iframe加载完成");
  } else {
    // 等待iframe加载完成
    setTimeout(checkIframeLoaded, 100);
  }
};

checkIframeLoaded();
  1. 使用jQuery的ready方法
    如果项目中使用了jQuery库,可以使用它提供的ready方法来判断iframe加载完成。

HTML代码:

<iframe id="myIframe" src="external.html"></iframe>

JavaScript代码:

$(document).ready(function() {
  $('#myIframe').on('load', function() {
    // iframe加载完成后执行的操作
    console.log('iframe加载完成');
  });
});

以上是几种判断iframe加载完成的方法和代码示例。根据实际情况选择合适的方法,即可实现对iframe加载完成事件的监听和处理。希望本文对您在判断iframe加载完成时有所帮助!