JavaScript-如何判断 iframe 是否加载完成

JavaScript-如何判断 iframe 是否加载完成

虐人心 发布于 2017-01-30 字数 35 浏览 1282 回复 5

如何判断 iframe 是否加载完成

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

晚风撩人 2017-09-28 5 楼

 var iframe = document.createElement("iframe");iframe.src = "http://www.planabc.net";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);

晚风撩人 2017-07-20 4 楼

分享一种方法:

var iframe = document.createElement("iframe");
iframe.src = "http://www.domain.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);
晚风撩人 2017-05-27 3 楼

在WebApp的一种做法,不用考虑去兼容IE,使用zepto库

 var iframe = $('#iframe');
iframe.on('load', function(){
console.log('iframe is onload');
});

瑾兮 2017-05-04 2 楼

下面是一个是动态生成iframe来判断是否加载完成,一个是判定页面已存在的iframe:

//动态生成iframe判断
var iframe = document.createElement("iframe");
iframe.src = url;
if (!/*@cc_on!@*/0) { //if not IE
iframe.onload = function(){
alert("Local iframe is now loaded.");
};
} else {
iframe.onreadystatechange = function(){//ie
if (iframe.readyState == "complete"){
alert("Local iframe is now loaded.");
}
};
}
document.body.appendChild(iframe);

//页面存在iframe
if(window.frames["iframeName"].document.readyState=="complete"){
alert("已经加载完毕");
}

虐人心 2017-02-17 1 楼

可以通过iframe的onload方法或者是readystatechange 事件来实现,但是readystatechange 相对于 load 事件有一些潜在的问题。而且IE下的iframe的onload需要通过 attachEvent 来注册

具体看这个,有具体的介绍:

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