JavaScript DOMContentLoaded事件案例詳解
DOMContentLoaded 事件
字面上看,它會在dom加載完成後觸發。
與window.onload事件非常相似,但有一定區別:
- DOMContentLoaded 事件是在文檔完全加載和解析之後觸發;
- window.onload 事件不但文檔完全加載和解析完畢,相關資源都要加載完畢,比如圖片和CSS文件等;
下一個問題是什麼時候dom加載完畢,這得從瀏覽器渲染說起,瀏覽器顯示網頁的過程可以做如下描述:
1. 請求得到html文檔,根據文檔請求更多的img,css及其它資源文件;
2. 解析文檔得到兩個東西,dom tree and cssom tree;
3. 依據上面兩個tree生成render tree;
4. 根據render tree進行佈局並在其中繪制相關元素。
以webkit為例,它的渲染流程如下:
DOMContentLoaded事件觸發時機:
在DOM後,RENDERtree之前。
JavaScript加載和執行會遲滯DOMContentLoaded 事件的觸發。
JavaScript要等待CSS渲染完成再去加載和執行,因為瀏覽器無法確定JavaScript是否需要DOM元素信息。
為確保JavaScript獲取的是最新的信息,會首先加載和渲染CSS。
參考文檔:
http://www.softwhy.com/article-9783-1.html
https://www.cnblogs.com/CandyManPing/p/6635008.html
https://www.cnblogs.com/caizhenbo/p/6679478.html
到此這篇關於JavaScript DOMContentLoaded事件案例詳解的文章就介紹到這瞭,更多相關JavaScript DOMContentLoaded事件內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- 在頁面加載之後執行JavaScript
- JavaScript之BOM構成和常用事件詳解
- JavaScript 文件加載與阻塞問題之性能優化案例詳解
- js與css的阻塞問題詳析
- JavaScript必看的10道面試題總結(推薦)