`
fengsky491
  • 浏览: 30825 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

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

阅读更多

http://www.planabc.net/2009/09/22/iframe_onload/

 

一般来说,我们判断 iframe 是否加载完成其实与 判断 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 提供了一个新的判断方法(很完美):

 

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 事件有一些潜在的问题。
分享到:
评论

相关推荐

    js下判断 iframe 是否加载完成的完美方法.docx

    判断 iframe 是否加载完成是一个重要的步骤,在我们的开发中,我们可以使用以上三种方法来判断 iframe 是否加载完成。其中,方法一和方法二都是通用的方法,可以在多数浏览器中使用,而方法三则是 IE 浏览器特有的...

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

    这种方法兼顾了兼容性和可靠性,是判断iframe加载完成的一个很好的选择。 总结来说,判断iframe是否加载完成主要有以下几种方式: 1. 对于非IE浏览器,直接使用`onload`事件。 2. 对于IE浏览器,使用`attachEvent`...

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

    判断`iframe`是否加载完成的方法有多种,这里将详细讨论两种常见且有效的方法。 首先,我们可以使用`onload`事件来监听`iframe`的加载状态。当`iframe`的内容完全加载完毕,包括图片、脚本等所有资源,`onload`事件...

    js检测iframe是否加载完成的方法

    需要注意的是,这种方法并不完美,因为它依赖于预期内容的出现来判断加载完成,而某些情况下,如动态加载的内容或者JavaScript延迟执行的情况,这种方法可能无法准确判断。另外,对于同源策略限制,跨域的iframe可能...

    ios 不支持 iframe 的完美解决方法(兼容iOS&安卓)

    标题所提及的“ios 不支持 iframe 的完美解决方法(兼容iOS&安卓)”主要针对的是iOS系统中`iframe`高度计算和弹框定位的问题。在iOS中,当`iframe`内的子页面高度超过父页面时,若子页面触发弹框,弹框可能会出现在...

    IE iframe的onload方法分析小结

    判断iframe是否加载完成的完美方法IE 支持 iframe 的 onload 事件,不过是隐形的,需要通过 attachEvent 来注册。 第二种方法比第一种方法更完美(采用readystatechange判断),因为 readystatechange 事件相对于 load...

    JavaScript 处理Iframe自适应高度(同或不同域名下)

    函数内部首先判断浏览器是否支持所需的方法,如果支持,则通过obj.contentDocument.body.offsetHeight获取到Iframe内部内容的实际高度,并将这个高度值赋给obj的高度属性。这种做法的前提是两个页面在同一域名下,...

    完美解决JS文件页面加载时的阻塞问题

    - 在事件处理器中,根据readyState和status判断请求是否成功,并执行相应的函数来处理返回的数据。 2. iframe注入: iframe注入是指在一个iframe元素中加载JavaScript代码,由于iframe的加载不会影响主页面的渲染...

    KODExplorer 芒果云-资源管理器

    - iframe 打开url 优化。解决canvas问题 - 文件编辑器,载入loading去掉 - 删除错误时,或上传错误时也刷新目录。删除提示颜色错误 - 对话框右键 点击右键菜单隐藏修复 - 手机端 touch =双击 - 文件列表 ...

    百度收藏夹(ASP仿腾讯微博) v2.9.rar

    31、完美解决发表新广播时不刷新页面,并且say.asp不预先加载,加快浏览速度。 32、修改删除广播时,直接在本页面内操作,而不是弹出新页面操作。 33、修改即时对话信息为无刷新HTML JS形式。 34、修改对话网址为...

Global site tag (gtag.js) - Google Analytics