国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

javascript IE中的DOM ready應用技巧

2019-11-21 01:40:59
字體:
來源:轉載
供稿:網友
 如果只需要對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(){  }
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 泌阳县| 德惠市| 延吉市| 黔西县| 柞水县| 海安县| 达尔| 新安县| 博湖县| 黄陵县| 延庆县| 股票| 如东县| 灌云县| 威宁| 仲巴县| 梧州市| 古田县| 崇义县| 乌审旗| 桐梓县| 三河市| 利川市| 延庆县| 平潭县| 江川县| 苏尼特右旗| 邵阳县| 高邑县| 沈阳市| 奉贤区| 花莲县| 和政县| 睢宁县| 柞水县| 天台县| 惠东县| 衡水市| 江西省| 岢岚县| 石景山区|