您的位置:首页 > 其它

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

2012-01-08 20:40 429 查看


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


variframe=document.createElement("iframe");[code]
iframe
.src="http://www.planabc.net";

if(!/*@cc_on!@*/0){//ifnotIE
iframe.onload=function(){
alert("Localiframeisnowloaded.");
};
}else{
iframe.onreadystatechange=function(){
if(iframe.readyState=="complete"){
alert("Localiframeisnowloaded.");
}
};
}

document.body.appendChild(iframe);[/code]

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


variframe=document.createElement("iframe");[code]
iframe
.src="http://www.planabc.net";

if(iframe.attachEvent){
iframe.attachEvent("onload",function(){
alert("Localiframeisnowloaded.");
});
}else{
iframe.onload=function(){
alert("Localiframeisnowloaded.");
};
}

document.body.appendChild(iframe);[/code]

几点补充说明:


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


第二种方法比第一种方法更完美,因为readystatechange事件相对于load事件有一些潜在的问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: