zoukankan      html  css  js  c++  java
  • JS判断Iframe是否加载完成

    一般来说,完美判断一个Iframe是否完美加载有两中方法。下面搜搜招聘网就 和大家来分享一下:    

     第一种:该方法和判断Javascript文件是否被加载完相似。下面是代码:

    var iframe = document.createElement("iframe");
    iframe.src = http://home.trusit.net/Pages/Default.aspx;
    if (!/*@cc_on!@*/0) { //浏览器 不是IE的情况下
    iframe.onload = function(){
    alert("已经加载完成!");
    };
    }
    else {
    iframe.onreadystatechange = function(){
    if (iframe.readyState == "complete"){
    alert("已经加载完成!");
    }
    };
    }
    document.body.appendChild(iframe);

    第二种:是从其他地方看到的,具体什么地方不记得了。该方法我没用过。

    var iframe = document.createElement("iframe");
    iframe.src = http://home.trusit.net/Pages/Default.aspx;
    if (iframe.attachEvent){
    iframe.attachEvent("onload", function(){
    alert("已经加载完成!");
    });
    } else {
    iframe.onload = function(){
    alert("已经加载完成!");
    };
    }
    document.body.appendChild(iframe);

    对于第二种方法补充两点说明: IE 支持 iframe 的 onload 事件,不过是隐形的,需要通过 attachEvent 来注册。 第二种方法比第一种方法更完美,因为 readystatechange 事件相对于 load 事件有一些潜在的问题

    总结上面得出一个通用的方法

    //iframeEl为iframe元素
    function iframeLoaded(iframeEl, callback) {
    if(iframeEl.attachEvent) {
    iframeEl.attachEvent("onload", function() {
    if(callback && typeof(callback) == "function") {
    callback();
    }
    });
    }
    else {
    iframeEl.onload = function() {
    if(callback && typeof(callback) == "function") {
    callback();
    }
    }
    }
    }
  • 相关阅读:
    __type_traits(traits思想)--萃取型别
    traits编程技巧
    SGI空间分配器之第二级配置器剖析
    SGI空间分配器之第一级配置器剖析
    枚举类型与联合类型
    函数指针
    c++中的placement new操作符学习
    第十六章:模板与泛型编程
    第十五章:面向对象编程
    第十五章:面向对象编程
  • 原文地址:https://www.cnblogs.com/554006164/p/2323336.html
Copyright © 2011-2022 走看看