瀏覽器構造頁面的原理

當瀏覽器從服務器接收到了HTML文檔,並把HTML在內存中轉換成DOM樹,在轉換的過程當中若是發現某個節點(node)上引用了CSS或者IMAGE,就會再發1個request去請求CSS或image,而後繼續執行下面的轉換,而不須要等待request的返回,當request返回後,只須要把返回的內容放入到DOM樹中對應的位置就OK。但當引用了JS的時候,瀏覽器發送1個js request就會一直等待該request的返回。由於瀏覽器須要1個穩定的DOM樹結構,而JS中頗有可能有代碼直接改變了DOM樹結構,好比使用document.write 或 appendChild,甚至是直接使用的location.href進行跳轉,瀏覽器爲了防止出現JS修改DOM樹,須要從新構建DOM樹的狀況,因此就會阻塞其餘的下載和呈現。node

相關文章
相關標籤/搜索