第一百四十一節,JavaScript,封裝庫--DOM加載

JavaScript,封裝庫--DOM加載web

DOM加載,跨瀏覽器封裝DOM加載,當網頁文檔結構加載完畢後執行函數,不等待圖片音頻視頻等文件加載完畢瀏覽器

/** dom_jia_zai()函數,DOM頁面加載函數,等待頁面結構加載完畢後就執行函數,不須要等待頁面音頻視頻等文件加載完畢,提升加載速度
 * 參數是頁面結構加載完畢後要執行的函數
 * 通常前寫前臺js文件時,使用此方法加載DOM頁面後執行代碼,提升速度
 **/
function dom_jia_zai(fn){
    var isReady = false;
    var timer = null;
    function doReady(fn) {
        if(timer) clearInterval(timer);
        if (isReady) return;
        isReady = true;
        fn();
    }
    if ((sys.opera && sys.opera < 9) || (sys.firefox && sys.firefox < 3) || (sys.webkit && sys.webkit < 525)){
        timer = setInterval(function () {
            if (document && document.getElementById && document.getElementsByTagName && document.body) {
                doReady();
            }
        }, 1);
    }else if(document.addEventListener){
        addEvent(document, 'DOMContentLoaded', function () {                  //頁面結構樹加載完畢後執行函數,不會等待音頻視頻等文件加載完畢
            fn();
            removeEvent(document, 'DOMContentLoaded', arguments.callee);
        });
    }else if(sys.ie && sys.ie < 9){
        var timer = null;
        timer = setInterval(function () {
            try {
                document.documentElement.doScroll('left');
                doReady();
            } catch (e) {}
        },1);
    }
}

 

前臺js 代碼dom

dom_jia_zai(function () {
alert('111');

});
相關文章
相關標籤/搜索