判断 iframe 是否加载完成的完美方法

转载 2011年01月25日 11:46:00

转自:http://www.cnblogs.com/lhgstudio/archive/2010/10/24/1859946.html

 

很老的东西,记下来下,万一以后要用到

一般来说,我们判断 iframe 是否加载完成其实与 判断 JavaScript 文件是否加载完成 采用的方法很类似:

01 var iframe = document.createElement( "iframe" );
02 iframe.src = "http://www.planabc.net " ;
03    
04 if (! /*@cc_on!@*/ 0) { //if not IE
05      iframe.onload = function(){
06          alert( "Local iframe is now loaded." );
07      };
08 } else {
09      iframe.onreadystatechange = function(){
10          if (iframe.readyState == "complete" ){
11              alert( "Local iframe is now loaded." );
12          }
13      };
14 }
15    
16 document.body.appendChild(iframe);

最近, Nicholas C. Zakas 文章《Iframes, onload, and document.domain》 的评论中 Christopher 提供了一个新的判断方法(很完美):

01 var iframe = document.createElement( "iframe" );
02 iframe.src = "http://www.planabc.net " ;
03    
04 if (iframe.attachEvent){
05      iframe.attachEvent( "onload" , function(){
06          alert( "Local iframe is now loaded." );
07      });
08 } else {
09      iframe.onload = function(){
10          alert( "Local iframe is now loaded." );
11      };
12 }
13    
14 document.body.appendChild(iframe);

几点补充说明:

  1. IE 支持 iframe 的 onload 事件 ,不过是隐形的,需要通过 attachEvent 来注册。
  2. 第二种方法比第一种方法更完美,因为 readystatechange 事件相对于 load 事件有一些潜在的问题。

jQuery-iframe加载完成后触发的事件监听

最近遇到一个问题,要写一个后台管理系统的layout,里面content是一个iframe,如何在iframe变化时使body里其他元素也发生相应变化呢。我借鉴了如下代码: $(...
  • qiqingjin
  • qiqingjin
  • 2016年01月09日 10:16
  • 17948

使用jquery获取iframe加载完成事件

 1.   网页中的iframe加载完成后,希望做一些工作。比如在iframe内容改变前在某处显示"正在加载",在加载完成后,显示内容改为"加载完成"。那么该怎么处理呢?   ...
  • beautifulsarah
  • beautifulsarah
  • 2017年02月09日 14:37
  • 4067

iframe载入完成时的事件监听

经常会遇到这样一种情况。  在iframe里嵌入另外一个页面时。如果iframe载入的页面响应较快,或许我们感觉不到页面载入的不同步,但试想,如果一个需要内嵌到iframe里的页面的响应很慢,这里会...
  • wocaonima123987
  • wocaonima123987
  • 2012年12月18日 17:24
  • 32972

IFrame 加载网页完成事件

今天,需要用到IFrame, 且用法比较特别,两个IFrame在同一个网页上,且需要加载完成一个IFrame后,才开始加载令一个IFrame,所以用到了IFrame加载完成的方法。把网上的资料整理如下...
  • zheng963
  • zheng963
  • 2016年03月28日 13:42
  • 3045

iframe加载的页面判断都否加载完成的方法

var iframe = document.createElement("iframe"); iframe.src = "http://sc.jb51.net"; if (iframe.att...
  • the_lone_wolf
  • the_lone_wolf
  • 2017年01月12日 18:27
  • 997

html嵌套iframe如何实现等iframe页面加载完进行下一步调用

如果想在你的html里面显示一张图片,或者显示一个报表,经常会在里面嵌套iframe,当我们点查询报表时,在报表显示过程中,我们想做个遮罩层,提示等待...但是报表显示出来后,我们如何把遮罩层去掉,让...
  • asartear
  • asartear
  • 2014年10月17日 09:14
  • 3894

判断iframe是否加载完毕,在执行某方法

var iframe = document.createElement("iframe"); iframe.src = "http://www.jb51.net"; if (!/*@cc_on!@*...
  • cgammxrry
  • cgammxrry
  • 2015年10月10日 19:29
  • 416

iframe结构里,父窗口怎么知道子窗口是否加载完毕呢?

昨天找了很多资料,就发现这个有用,类似document.ready方法的还没有找到 window.onload :页面所有元素加载完毕,包括图片 $(document).ready :文档结构加载完毕...
  • jajavaja
  • jajavaja
  • 2013年11月26日 08:59
  • 3936

判断iframe里的页面加载完成

//判断iframe是否加载完成,RMid为iframe的ID document.getElementById("RMid").onload = function () { alert("加载完...
  • changhong009
  • changhong009
  • 2014年06月06日 09:42
  • 1099

判断iframe中的网页是否加载完毕代码

var iframe = document.getElementById("iframe"); iframe.src="url"; if (iframe.attachEvent != un...
  • lluohuih
  • lluohuih
  • 2016年04月12日 16:19
  • 322
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:判断 iframe 是否加载完成的完美方法
举报原因:
原因补充:

(最多只允许输入30个字)