转自:http://www.sosuo8.com/article/show.asp?id=2916
一般来说,我们判断 iframe 是否加载完成其实与判断JavaScript 文件是否加载完成采用的方法很类似:
JavaScript
复制代码
- var iframe = document.createElement("iframe");
- iframe.src = "http://www.planabc.net";
- 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 提供了一个新的判断方法(很完美):
JavaScript
复制代码
- 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);
几点补充说明:
1、IE 支持 iframe 的onload 事件,不过是隐形的,需要通过 attachEvent 来注册。
2、第二种方法比第一种方法更完美,因为 readystatechange 事件相对于 load 事件有一些潜在的问题
检测iframe加载完成的方法
本文介绍了两种检测iframe是否加载完成的有效方法。一种适用于非IE浏览器,利用onload事件;另一种适用于IE浏览器,使用attachEvent注册onload事件。此外,还讨论了readystatechange事件存在的潜在问题。
4130

被折叠的 条评论
为什么被折叠?



