首頁 web前端 html教學 HTML頁面載入與解析流程詳細介紹_HTML/Xhtml_網頁製作

HTML頁面載入與解析流程詳細介紹_HTML/Xhtml_網頁製作

May 16, 2016 pm 04:39 PM
html 頁面載入

瀏覽器載入和渲染html的順序

1. IE下載的順序是從上到下,渲染的順序也是從上到下,下載和渲染是同時進行的。

2. 在渲染到頁面的某一部分時,其上面的所有部分都已經下載完成(並不是說所有相關聯的元素都已經下載完)。

3. 如果遇到語意解釋性的標籤嵌入檔案(JS腳本,CSS樣式),那麼此時IE的下載過程會啟用單獨連線進行下載。

4. 樣式表在下載完成後,將和先前下載的所有樣式表一起進行解析,解析完成後,將對先前所有元素(含以前已經渲染的)重新進行渲染。

5. JS、CSS中如有重定義,後定義函數將覆寫前定義函數。

JS的載入

1. 不能並行下載和解析(阻塞下載)。

2. 當引用了JS的時候,瀏覽器發送1個js request就會一直等待該request的回傳。因為瀏覽器需要1個穩定的DOM樹結構,而JS中很有可能有

程式碼直接改變了DOM樹結構,例如使用document.write 或appendChild,甚至是直接使用的location.href進行跳轉,瀏覽器為了防止出現JS修

改DOM樹,需要重新構建DOM樹的情況,所以就會阻塞其他的下載和呈現.

如何加快HTML頁面載入速度

1. 頁面減重:

a. 頁面的肥瘦是影響載入速度最重要的因素。

b. 刪除不必要的空格、註解。

c. 將inline的script和css移到外部檔案。

d. 可以使用HTML Tidy來為HTML減肥,也可以使用一些壓縮工具來為JavaScript減肥。

2. 減少檔案數量:

a. 減少頁面上引用的檔案數量可以減少HTTP連線數。

b. 許多JavaScript、CSS檔案可以合併最好合併,人家財幫子都把自己的JavaScript. functions和Prototype.js合併到一個base.js檔案裡去了。

3. 減少網域名稱查詢:

a. DNS查詢與解析網域名稱也是消耗時間的,所以要減少外部JavaScript、CSS、圖片等資源的引用,不同網域的使用越少越好。

4. 快取重複使用資料:

a. 重複使用的資料快取。

5. 最佳化頁面元素載入順序:

a. 首先載入頁面最初顯示的內容和與之相關的JavaScript和CSS,然後載入HTML相關的東西,像什麼不是最初顯示相關的圖片、flash、影片等很肥的資源就最後載入。

6. 減少inline JavaScript的數量:

a. 瀏覽器parser會假設inline JavaScript會改變頁面結構,所以使用inline JavaScript開銷較大。

b. 不要使用document.write()這種輸出內容的方法,使用現代W3C DOM方法來為現代瀏覽器處理頁面內容。

7. 使用現代CSS和合法的標籤:

a. 使用現代CSS來減少標籤和圖像,例如使用現代CSS 文字完全可以替代一些只有文字的圖片。

b. 使用合法的標籤避免瀏覽器解析HTML時做「error correction」等操作,也可以被HTML Tidy來給HTML減肥。

8. Chunk your content:

a. 不要使用巢狀table,而使用非巢狀table或div。將基於大塊巢狀的table的layout分解成多個小table,這樣就不需要等到整個頁面(或大table)內容全部載入完才顯示。

9. 指定圖像和table的大小:

a. 如果瀏覽器可以立即決定圖像或table的大小,那麼它就可以馬上顯示頁面而不要重新做一些佈局安排的工作。

b. 這不僅加快了頁面的顯示,也預防了頁面完成載入後佈局的一些不當的改變。

c. image使用height和width。

HTML頁面載入和解析流程

1. 使用者輸入網址(假設是個html頁面,並且是第一次造訪),瀏覽器向伺服器發出請求,伺服器返回html檔案。

2. 瀏覽器開始載入html程式碼,發現標籤內有一個標籤引用外部CSS檔案。

3. 瀏覽器又發出CSS檔案的請求,伺服器回傳這個CSS檔案。

4. 瀏覽器繼續載入html中部分的程式碼,而CSS檔案已經拿到手了,可以開始渲染頁面了。

5. 瀏覽器在程式碼中發現一個HTML頁面載入與解析流程詳細介紹_HTML/Xhtml_網頁製作標籤引用了一張圖片,向伺服器發出請求。此時瀏覽器不會等到圖片下載完,而是繼續渲染後面的程式碼。

6. 伺服器傳回圖片文件,由於圖片佔據了一定面積,影響了後面段落的排布,因此瀏覽器需要回過頭來重新渲染這部分程式碼。

7. 瀏覽器發現了一個包含一行Javascript程式碼的<script>標籤,趕快執行它。 <br /><br />8. Javascript腳本執行了這條語句,它命令瀏覽器隱藏掉程式碼中的某個<style>(style.display=”none”)。杯具啊,突然就少了這麼一個元素,瀏覽器不得不重新渲染這部分程式碼。 <br /><br />9. 終於等到了的到來,瀏覽器淚流滿面… <br /><br />10. 等等,還沒完,用戶點了一下介面中的「換膚」按鈕,Javascript讓瀏覽器換了一下<link>標籤的CSS路徑。 <br /><br />11. 瀏覽器召集了在座的各位<div><span><ul><li>們,“大夥兒收拾收拾行李,咱得重新來過……”,瀏覽器向服務器請求了新的CSS文件,重新渲染頁面。</script>
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

HTML 中的表格邊框 HTML 中的表格邊框 Sep 04, 2024 pm 04:49 PM

HTML 表格邊框指南。在這裡,我們以 HTML 中的表格邊框為例,討論定義表格邊框的多種方法。

HTML 中的巢狀表 HTML 中的巢狀表 Sep 04, 2024 pm 04:49 PM

這是 HTML 中巢狀表的指南。這裡我們討論如何在表中建立表格以及對應的範例。

HTML 左邊距 HTML 左邊距 Sep 04, 2024 pm 04:48 PM

HTML 左邊距指南。在這裡,我們討論 HTML margin-left 的簡要概述及其範例及其程式碼實作。

HTML 表格佈局 HTML 表格佈局 Sep 04, 2024 pm 04:54 PM

HTML 表格佈局指南。在這裡,我們詳細討論 HTML 表格佈局的值以及範例和輸出。

HTML 有序列表 HTML 有序列表 Sep 04, 2024 pm 04:43 PM

HTML 有序列表指南。在這裡我們也分別討論了 HTML 有序列表和類型的介紹以及它們的範例

HTML 輸入佔位符 HTML 輸入佔位符 Sep 04, 2024 pm 04:54 PM

HTML 輸入佔位符指南。在這裡,我們討論 HTML 輸入佔位符的範例以及程式碼和輸出。

在 HTML 中移動文字 在 HTML 中移動文字 Sep 04, 2024 pm 04:45 PM

HTML 中的文字移動指南。在這裡我們討論一下marquee標籤如何使用語法和實作範例。

HTML onclick 按鈕 HTML onclick 按鈕 Sep 04, 2024 pm 04:49 PM

HTML onclick 按鈕指南。這裡我們分別討論它們的介紹、工作原理、範例以及各個事件中的onclick事件。

See all articles