首頁 web前端 html教學 HTML頁面載入和解析流程詳細介紹

HTML頁面載入和解析流程詳細介紹

Feb 09, 2017 pm 05:31 PM

瀏覽器載入和渲染html的順序、如何加快HTML頁面載入速度、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. 頁面減肥:

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

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或p。將基於大塊巢狀的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頁面載入和解析流程詳細介紹標籤引用了一張圖片,向伺服器發出請求。此時瀏覽器不會等到圖片下載完,而是繼續渲染後面的程式碼。

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

7. 瀏覽器發現了一個包含一行Javascript程式碼的<script>標籤,趕快執行它。 <br/><br/>8. Javascript腳本執行了這條語句,它命令瀏覽器隱藏掉程式碼中的某個<style>(style.display=”none”)。杯具啊,突然就少了這麼一個元素,瀏覽器不得不重新渲染這部分程式碼。 <br/><br/>9. 終於等到了的到來,瀏覽器淚流滿面… <br/><br/>10. 等等,還沒完,用戶點了一下介面中的「換膚」按鈕,Javascript讓瀏覽器換了一下<link>標籤的CSS路徑。 <br/><br/>11. 瀏覽器召集了在座的各位<p><span><ul><li>們,“大夥兒收拾收拾行李,咱得重新來過……”,瀏覽器向服務器請求了新的CSS文件,重新渲染頁面。 <p>更多HTML頁面載入與解析流程詳細介紹相關文章請關注PHP中文網! </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脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
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)

熱門話題

Java教學
1666
14
CakePHP 教程
1425
52
Laravel 教程
1325
25
PHP教程
1273
29
C# 教程
1252
24
了解HTML,CSS和JavaScript:初學者指南 了解HTML,CSS和JavaScript:初學者指南 Apr 12, 2025 am 12:02 AM

WebDevelovermentReliesonHtml,CSS和JavaScript:1)HTMLStructuresContent,2)CSSStyleSIT和3)JavaScriptAddSstractivity,形成thebasisofmodernWebemodernWebExexperiences。

HTML:結構,CSS:樣式,JavaScript:行為 HTML:結構,CSS:樣式,JavaScript:行為 Apr 18, 2025 am 12:09 AM

HTML、CSS和JavaScript在Web開發中的作用分別是:1.HTML定義網頁結構,2.CSS控製網頁樣式,3.JavaScript添加動態行為。它們共同構建了現代網站的框架、美觀和交互性。

HTML,CSS和JavaScript的未來:網絡開發趨勢 HTML,CSS和JavaScript的未來:網絡開發趨勢 Apr 19, 2025 am 12:02 AM

HTML的未來趨勢是語義化和Web組件,CSS的未來趨勢是CSS-in-JS和CSSHoudini,JavaScript的未來趨勢是WebAssembly和Serverless。 1.HTML的語義化提高可訪問性和SEO效果,Web組件提升開發效率但需注意瀏覽器兼容性。 2.CSS-in-JS增強樣式管理靈活性但可能增大文件體積,CSSHoudini允許直接操作CSS渲染。 3.WebAssembly優化瀏覽器應用性能但學習曲線陡,Serverless簡化開發但需優化冷啟動問題。

HTML的未來:網絡設計的發展和趨勢 HTML的未來:網絡設計的發展和趨勢 Apr 17, 2025 am 12:12 AM

HTML的未來充滿了無限可能。 1)新功能和標準將包括更多的語義化標籤和WebComponents的普及。 2)網頁設計趨勢將繼續向響應式和無障礙設計發展。 3)性能優化將通過響應式圖片加載和延遲加載技術提升用戶體驗。

HTML與CSS vs. JavaScript:比較概述 HTML與CSS vs. JavaScript:比較概述 Apr 16, 2025 am 12:04 AM

HTML、CSS和JavaScript在網頁開發中的角色分別是:HTML負責內容結構,CSS負責樣式,JavaScript負責動態行為。 1.HTML通過標籤定義網頁結構和內容,確保語義化。 2.CSS通過選擇器和屬性控製網頁樣式,使其美觀易讀。 3.JavaScript通過腳本控製網頁行為,實現動態和交互功能。

HTML:建立網頁的結構 HTML:建立網頁的結構 Apr 14, 2025 am 12:14 AM

HTML是構建網頁結構的基石。 1.HTML定義內容結構和語義,使用、、等標籤。 2.提供語義化標記,如、、等,提升SEO效果。 3.通過標籤實現用戶交互,需注意表單驗證。 4.使用、等高級元素結合JavaScript實現動態效果。 5.常見錯誤包括標籤未閉合和屬性值未加引號,需使用驗證工具。 6.優化策略包括減少HTTP請求、壓縮HTML、使用語義化標籤等。

HTML與CSS和JavaScript:比較Web技術 HTML與CSS和JavaScript:比較Web技術 Apr 23, 2025 am 12:05 AM

HTML、CSS和JavaScript是構建現代網頁的核心技術:1.HTML定義網頁結構,2.CSS負責網頁外觀,3.JavaScript提供網頁動態和交互性,它們共同作用,打造出用戶體驗良好的網站。

HTML:是編程語言還是其他? HTML:是編程語言還是其他? Apr 15, 2025 am 12:13 AM

HTMLISNOTAPROGRAMMENGUAGE; ITISAMARKUMARKUPLAGUAGE.1)htmlStructures andFormatSwebContentusingtags.2)itworkswithcsssforstylingandjavascript for Interactivity,增強WebevebDevelopment。

See all articles