成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

關于提高瀏覽器渲染頁面速度的建議

開發 前端
怎樣盡可能的縮短瀏覽器上頁面渲染的時間,文章從以下幾方面著手。

怎樣盡可能的縮短瀏覽器上頁面渲染的時間,文章從以下幾方面著手:

  • 寫出高效的css代碼
  • 避免使用css表達式
  • 把css文件放在頁面頂部
  • 指定頁面圖片的尺寸
  • 頁面頭部標明文檔編碼

一,寫出高效的css代碼

首先弄清瀏覽器解析html代碼的過程:構建一個dom樹,頁面要顯示的各元素都會創建到這個dom樹當中。每當一個新元素加入到這個dom樹當中,瀏覽器便會通過css引擎查遍css樣式表,找到符合該元素的樣式規則應用到這個元素上。css引擎查找樣式表,對每條規則都按從右到左的順序去匹配。

了解過程后,我們可以看出可以從兩方面優化我們的css代碼:1,定義的css樣式規則條數越少越好,所以趕緊刪除css文件中不必要的樣式定 義;2,優化每條規則的選擇符書寫方式,盡量讓css引擎一看就知道這個規則是否需要應用到當前這個元素上,讓引擎少走不必要的彎路。

如以下幾種效率不高的css書寫方式:

  1. body * {...} 
  2. hide-scrollbars * {...} 

b, 用標簽做關鍵選擇符

  1. ul li a {...} 
  2. #footer h3 {...} 
  3. * html #atticPromo ul li a {...} 

c, 畫蛇添足的寫法

  1. ul#top_blue_nav {...} 
  2. form#UserLogin {...} 

d, 給非連接標簽添加 :hover 偽類,這會對用了strict doctype的頁面在IE7和IE8下變的很慢。

  1. h3:hover {...} 
  2. .foo:hover {...} 
  3. #foo:hover {...} 
  4. div.faa :hover {...} 

優化建議:

a, 避免使用通配符

b, 讓css引擎快速辨別該規則是否適用于當前元素:多用id或class選擇符,少用標簽選擇符;

c, 不要畫蛇添足把id和class或標簽和class等連著寫;

d, 盡量避免使用后代選擇符,去除不必要的祖先元素,可以考慮使用class選擇符來替換后代選擇符;

  1. /*給無序和有序的li定義不同顏色,你可能會這樣寫:*/ 
  2. ul li {color: blue;} 
  3. ol li {color: red;} 
  4. /*給li添加class,這樣定義效率會更高:*/ 
  5. .unordered-list-item {color: blue;} 
  6. .ordered-list-item {color: red;} 

e, 避免給非連接標簽添加 :hover 偽類。

二,避免使用css表達式

css表達式僅在ie瀏覽器下才起作用,微軟已在ie8后不推薦使用,因為它會嚴重影響頁面性能:任何時候,不管任何一個事件被觸發,例如窗口的 resize 事件,鼠標的移動等等,css表達式都會重新計算一遍。

三,把css文件放在頁面頂部

把外聯或內聯樣式表放在body部分會影響頁面渲染的速度,因為瀏覽器只有在所有樣式表下載完成后才會繼續下載頁面其他內容。另外,內聯樣式表(放在<style>內的樣式)有可能會引起頁面重新渲染或顯示隱藏頁面中的某些元素,建議不要使用內聯樣式表。

四,指定頁面圖片的尺寸

指定頁面圖片尺寸,要符合圖片的真實尺寸(不要通過指定尺寸來縮放圖片),可以避免尺寸改變導致的頁面結構效果的變化,所以對加快頁面渲染速度有益。

五,頁面頭部標明文檔編碼

HTML文檔是以包含文檔編碼信息的數據流方式在網絡間傳輸。頁面的編碼信息一般會在HTTP響應的頭部信息或在文檔內的HTML標記中指明。客戶端瀏覽器只有在確定了頁面編碼后才能正確的渲染頁面, 所以在繪制頁面或執行任何的javascript代碼前,大部分的瀏覽器(ie6、ie7、ie8除外)都會緩沖一定字節的數據來從中查找編碼信息,不同 的瀏覽器當中預緩沖的字節數是不一樣的。如果瀏覽器在接收到了設定的預緩沖數據量后還沒有找到頁面的編碼信息,便會根據各自指定的默認編碼開始渲染頁面,如果這時再獲取到頁面編碼信息,而又跟現在所用編碼不一致,那整個頁面就得重新渲染,某些情況下甚至需要重新獲取數據。所以,對于大小超過1KB的頁面(根據在各瀏覽器的測試情況,預緩沖數據量最多的也就1KB)應當盡早標明編碼信息。

優化建議:

a, 盡量在HTTP頭部信息中標明頁面編碼(這個需要在服務器端設置)。像Firefox瀏覽器,如果在HTTP頭部信息就獲取到了編碼信息,便會預緩沖更少的數據從而減少不必要的數據緩沖時間;

b, 在HTML的 <head> 部分標明編碼信息;

c, 要習慣給文檔指定編碼;

d, 給頁面指定的編碼要符合頁面實際編碼;如果你在HTTP頭部信息和HTML標記中同時指定了編碼,需確保編碼信息一致。

原文鏈接:http://www.wufangbo.com/browser-page-rendering-speed/

責任編輯:陳四芳 來源: wufangbo.com
相關推薦

2013-11-20 13:04:41

css瀏覽器渲染

2018-01-19 14:39:53

瀏覽器頁面優化

2020-11-06 15:20:45

瀏覽器前端架構

2019-04-08 10:27:00

渲染瀏覽器DOM

2013-05-23 16:01:56

瀏覽器

2013-06-14 13:56:29

瀏覽器渲染原理

2009-05-22 08:56:02

GoogleChrome瀏覽器

2012-10-24 17:33:31

傲游瀏覽器

2012-11-01 13:14:26

遨游瀏覽器

2012-11-14 16:54:28

瀏覽器

2013-11-18 14:42:53

瀏覽器渲染

2017-03-08 08:31:48

瀏覽器渲染路徑

2018-12-03 14:58:21

Linux網絡瀏覽器安全性

2009-03-30 08:54:14

2013-11-20 10:47:57

瀏覽器渲染html

2017-03-12 10:15:18

瀏覽器DOM樹CSSOM樹

2017-10-09 13:39:26

瀏覽器渲染服務器

2013-11-20 13:47:43

瀏覽器渲染引擎

2022-08-30 09:01:11

瀏覽器渲染前端

2009-12-31 16:18:44

Silverlight
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文字幕精品一区二区三区精品 | 精品亚洲一区二区 | 久久99精品视频 | 成人在线视频网址 | 99婷婷 | 免费午夜视频在线观看 | 九九视频在线观看 | 国产精品久久久久久吹潮日韩动画 | 69av在线视频 | 日本福利视频免费观看 | 夜夜艹 | 美女在线国产 | 91在线看网站 | 一区二区三区在线免费观看视频 | 一级毛片观看 | 日韩精品久久久 | 一区二区三区在线播放 | 国产日韩精品视频 | 欧美性精品 | 日本三级播放 | 天天拍天天操 | 天天操天天射天天舔 | 亚洲三区在线观看 | 97色伦网 | 国产精品毛片一区二区三区 | 噜久寡妇噜噜久久寡妇 | 欧美偷偷 | 91在线导航 | 一二区成人影院电影网 | 一区二区精品 | 国产精品久久国产精品久久 | 亚洲性综合网 | 羞羞在线视频 | 精品在线观看入口 | 欧美一级久久 | 欧美一区二区三区小说 | 一区二区三区在线 | 欧 | 一区二区三区四区国产精品 | 最新黄色毛片 | 嫩草视频在线看 | 日日操操操 |