瀏覽器渲染步驟

首先,讓我們來看一段代碼:

<html>
<head>
    <title>標題</title>
    <link href="../css/css.css" rel="Stylesheet" type="text/css" />
</head>
<body>
    <div>
    </div>
    ![](images/test.jpg)
    <p>
    </p>
</body>
<script type="text/javascript" src="js/js.js"></script>
</html>

我們現在要在瀏覽器中顯示以上結構的HTML。
1.客戶端瀏覽器開始從用戶向服務器發出請求,服務器響應的將如上的HTML返回給請求的客戶端瀏覽器中。

2.加載從<html>標簽開始,并發現<head>標簽內有個外部樣式文件要加載

<link href="../css/css.css" rel="Stylesheet" type="text/css" />

3.這時客戶端瀏覽器又向服務器發出一個請求加載css.css文件,服務器響應。

4.此時客戶端瀏覽器繼續加載html文件里<body>里的標簽,在css.css文件加載完后,同時開始渲染頁面。

5.客戶端瀏覽器在body里的標簽中發現一個img標簽并且引用了服務器進而的一張名為test.jpg的圖片.客戶端瀏覽器又向服務器發出一次請求。而瀏覽器不會因為此時正在加載img標簽里的圖片而停止等待圖片加載完,瀏覽器繼續渲染還未完成的部分。

6.img標簽里的圖片加載完了,則要顯示出來,同時圖片會占有一定的面積,又會影響到后面的布局,瀏覽器不得不又回來重新渲染一次這部分。

7.把body里的標簽加載及渲染完后,瀏覽器又發現了一段代碼:

<script type="text/javascript" src="js/js.js"></script>

8.瀏覽器又立刻向服務器發出請求加載js.js文件,服務器響應。

9.瀏覽器又在js.js文件中發現了一段代碼,是干嘛干嘛的,比如隱藏某元素,此時瀏覽器又要重新去渲染被隱藏的部分。

10.最后到瀏覽器發現了</html>為止。

這是最合理的渲染步驟,如果把js文件放在head標簽里,這個js文件加載時間又過長,那會影響用戶體驗,一直在等待瀏覽器呈現內容。

將css文件首先加載,也就是html的內容出來一個,那就樣式給它加上,先渲染出來,而不會讓用戶處于干等的狀態。

如果將css文件放在最后,那么首先渲染出的內容則有可能雜亂無章,影響美觀。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,801評論 1 92
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,932評論 18 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,301評論 25 708
  • 一身斑斕 蕾絲環繞脖頸的輕佻 像起舞,像墜落 像是一場盛世的歡享 描摹于厚重的妝容上 我那輕吟淺唱的心思呵 沉睡在...
    高山子閱讀 262評論 0 1
  • 紙來折鶴寄相思,鶴去常無歸來意。不禁使我心疊疊,杳杳飛在化雪時。
    北俱蘆閱讀 361評論 0 0