我是靠谱客的博主 活力网络,最近开发中收集的这篇文章主要介绍javascript IE中的DOM ready应用技巧,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 如果只需要对DOM进行操作,那么这时就没必要等到页面全部加载了。我们需要更快的方法。
      Firefox有DOMContentLoaded事件可以轻松解决,可惜的就是IE没有。 
      MSDN关于JSCRIPT的一个方法有段不起眼的话,当页面DOM未加载完成时,调用doScroll方法时,会产生异常。那么我们反过来用,如果不异常,那么就是页面DOM加载完毕了!

复制代码 代码如下:

function IEContentLoaded (w, fn) {        
    var d = w.document, done = false,        
    // only fire once        
    init = function () {        
        if (!done) {        
            done = true;        
            fn();        
        }        
    };        
    // polling for no errors        
    (function () {        
        try {        
            // throws errors until after ondocumentready        
            d.documentElement.doScroll('left');        
        } catch (e) {        
            setTimeout(arguments.callee, 50);        
            return;        
        }        
        // no errors, fire        
        init();        
    })();        
    // trying to always fire before onload        
    d.onreadystatechange = function() {        
        if (d.readyState == 'complete') {        
            d.onreadystatechange = null;        
            init();        
        }        
    };        
}

这个函数是Diego Perini在07年就发布了这个方法,
而且获得了广泛认同,以至于现在许多开源框架都是借鉴这种方法,譬如JQuery中的ready。

如果以后需要用到IE的DomReady,就是他了。

用法:
IEContentLoaded(  document.getElementById("test") , test  );

function test(){  }

最后

以上就是活力网络为你收集整理的javascript IE中的DOM ready应用技巧的全部内容,希望文章能够帮你解决javascript IE中的DOM ready应用技巧所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(164)

评论列表共有 0 条评论

立即
投稿
返回
顶部