監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價(jià)咨詢管理系統(tǒng) | 工程設(shè)計(jì)管理系統(tǒng) | 甲方項(xiàng)目管理系統(tǒng) | 簽約案例 | 客戶案例 | 在線試用
X 關(guān)閉
益陽網(wǎng)站建設(shè)公司

當(dāng)前位置:工程項(xiàng)目OA系統(tǒng) > 泛普各地 > 湖南OA系統(tǒng) > 益陽OA > 益陽網(wǎng)站建設(shè)公司

網(wǎng)頁前端優(yōu)化:優(yōu)化瀏覽器頁面渲染

申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114

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

寫出高效的css代碼

避免使用css表達(dá)式

把css文件放在頁面頂部

指定頁面圖片的尺寸

頁面頭部標(biāo)明文檔編碼

一,寫出高效的css代碼

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

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

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

body * {...}

hide-scrollbars * {...}

b, 用標(biāo)簽做關(guān)鍵選擇符

ul li a {...}

#footer h3 {...}

* html #atticPromo ul li a {...}

c, 畫蛇添足的寫法

ul#top_blue_nav {...}

form#UserLogin {...}

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

h3:hover {...}

.foo:hover {...}

#foo:hover {...}

div.faa :hover {...}

優(yōu)化建議:

a, 避免使用通配符;

b, 讓css引擎快速辨別該規(guī)則是否適用于當(dāng)前元素:多用id或class選擇符,少用標(biāo)簽選擇符;

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

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

/*給無序和有序的li定義不同顏色,你可能會(huì)這樣寫:*/

ul li {color: blue;}

ol li {color: red;}

/*給li添加class,這樣定義效率會(huì)更高:*/

.unordered-list-item {color: blue;}

.ordered-list-item {color: red;}

e, 避免給非連接標(biāo)簽添加 :hover 偽類。

二,避免使用css表達(dá)式

css表達(dá)式僅在ie瀏覽器下才起作用,微軟已在ie8后不推薦使用,因?yàn)樗鼤?huì)嚴(yán)重影響頁面性能:任何時(shí)候,不管任何一個(gè)事件被觸發(fā),例如窗口的 resize 事件,鼠標(biāo)的移動(dòng)等等,css表達(dá)式都會(huì)重新計(jì)算一遍。

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

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

四,指定頁面圖片的尺寸

指定頁面圖片尺寸,要符合圖片的真實(shí)尺寸(不要通過指定尺寸來縮放圖片),可以避免尺寸改變導(dǎo)致的頁面結(jié)構(gòu)效果的變化,所以對(duì)加快頁面渲染速度有益。

五,頁面頭部標(biāo)明文檔編碼

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

優(yōu)化建議:

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

b, 在HTML的 <head> 部分標(biāo)明編碼信息;

c, 要習(xí)慣給文檔指定編碼;

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

發(fā)布:2007-03-31 14:01    編輯:泛普軟件 · xiaona    [打印此頁]    [關(guān)閉]
相關(guān)文章:
益陽OA
聯(lián)系方式

成都公司:成都市成華區(qū)建設(shè)南路160號(hào)1層9號(hào)

重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓

咨詢:400-8352-114

加微信,免費(fèi)獲取試用系統(tǒng)

QQ在線咨詢

泛普益陽網(wǎng)站建設(shè)公司其他應(yīng)用

益陽軟件開發(fā)公司 益陽門禁系統(tǒng) 益陽物業(yè)管理軟件 益陽倉庫管理軟件 益陽餐飲管理軟件 益陽網(wǎng)站建設(shè)公司