当前位置: 首页 > 图文教程 > 网络编程 > Javascript > JavaScript:判断iframe是否加载完成的完美方法

Javascript
javascript function、指针及内置对象
Javascript 同时提交多个Web表单的方法
用jQuery简化JavaScript开发分析
Javascript静态分页(多个资料,静态自动分页)
JavaScript 调试器简介
JavaScript 判断浏览器类型及版本
javascript eval函数深入认识
一个写得较好的JavaScript日期挑选控件
JavaScript基本概念初级讲解论坛贴的学习记录
javascript web对话框与弹出窗口
input、button的不同type值在ajax提交表单时导致的陷阱
javascript 密码强弱度检测万能插件
javascript 特殊字符串
Javascript动态伸缩+淡出淡入
javascript URL锚点取值方法
jQuery Div中加载其他页面的实现代码
javascript 文档的编码问题解决
escape、encodeURI 和 encodeURIComponent 的区别
[推荐]javascript 面向对象技术基础教程
js 页面执行时间计算代码

Javascript 中的 JavaScript:判断iframe是否加载完成的完美方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 534 ::
收藏到网摘: n/a

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

var iframe = document.createElement("iframe");
iframe.src = "http://www.ruanchen.com";
if (!/*@cc_on!@*/0) { //if not IE
    iframe.onload = function(){
        alert("Local iframe is now loaded.");
    };} else {
    iframe.onreadystatechange = function(){
        if (iframe.readyState == "complete"){
            alert("Local iframe is now loaded.");
        }
    };}document.body.appendChild(iframe);

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

var iframe = document.createElement("iframe");
iframe.src = "http://www.ruanchen.com";
if (iframe.attachEvent){
   iframe.attachEvent("onload", function(){
       alert("Local iframe is now loaded.");
    });} else {
    iframe.onload = function(){
        alert("Local iframe is now loaded.");
    };
}
document.body.appendChild(iframe);

几点补充说明:

IE 支持 iframe 的 onload 事件,不过是隐形的,需要通过 attachEvent 来注册。

第二种方法比第一种方法更完美,因为 readystatechange 事件相对于 load 事件有一些潜在的问题。