頁面渲染過程詳解


用戶在瀏覽器地址欄輸入地址之后,客戶端請求html頁面,該html頁面是如何渲染的,下面做出說明:

①客戶端請求頁面時,回去服務端抓取下載html文檔,包含的內容有:html文檔自身、script標簽引用js文件、link引用css文件、video引用視頻文件、audio引用音頻文件、im引用的圖片文件。會按照文檔類型(優先級高)以及頁面引用的順序多通道,同步加載資源,不同瀏覽器的通道數量不用。首先會加載html文檔

②加載到html文檔之后,會從上到下進行html文檔解析

③文檔解析過程中會生成一顆有dom元素節點組成的樹,叫做dom樹,dom樹中包含了頁面的所有元素,包括display:none(不可見)的元素

④dom樹生成之后,會結合cssom(樣式對象模型),生成render樹,render樹中會隱去一些頭部標簽還有display:none的標簽,就是說render樹中包含了所有可見元素

⑤之后再數據解析dom樹,將頁面中的標簽解析一遍,包含了引用外部資源的標簽,和不引用外部資源的標簽,將頁面內容填充上去,瀏覽器繪制完成整個頁面。對於外部引用的一些資源:css資源要做到盡量減少頁面重流;js繪制do節點會阻塞其他標簽解析、甚至下載;圖片資源,可以先使用分辨率比較低的圖片占位。

歡迎各位大佬批評指正。

 


免責聲明!

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



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