頁面加載順序及觸發的事件


頁面加載大致的幾個步驟

1.開始解析HTML文檔結構。

2.加載外部樣式表及JavaScript腳本。

3.解析執行JavaScript腳本。

4.DOM樹渲染完成。

5.加載未完成的資源(如圖片)。

6.頁面加載成功。

頁面加載觸發的事件

1.document的readystatechange事件

簡單例子:

document.onreadystatechange = function() { // 文檔加載狀態改變事件處理
    if (document.readyState === "loading") { // document加載中
        console.log(document.readyState);
    }
    if (document.readyState === "interactive") { // 互動文檔加載完成,文檔解析完成,但是如圖像,樣式表和框架等子資源仍在加載中
        console.log(document.readyState);
    }
    if (document.readyState === "complete") { // 文檔和所有子資源加載完成,load事件即將被觸發
        console.log(document.readyState);
    }
}

readyState屬性描述了文檔的加載狀態,整個加載過程中document.readyState會不斷變化,每次變化都觸發readystatechange事件。

也可以用事件監聽器去綁定:

document.addEventListener("readystatechange", function() {
    console.log(document.readyState);
});

2.document的DOMContentLoaded事件

DOM樹渲染完成時候觸發DOMContentLoaded事件,此時可能外部資源還在加載。jQuery中的ready事件就是實現的這個事件。

3.window的load事件

當所有的資源全部加載完成后就會觸發window的load事件。

 

"-。-"


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM