WEB性能優化
作為一個前端工作人員,我們不可避免要進行web的性能優化。那么有哪些優化的方法呢?
A、常規項
1 、減少HTTP請求,在網頁中圖片、css、javascript、flash等等,都會增加我們的HTTP請求,減少請求數能提高WEB的頁面響應時間;
2、導入的css和js文件的位置,css放在head部分,js放在body的尾部;
3、js/css/html代碼的壓縮;
4、使用外部的 js/css,內聯的css和js其實比外部文件反應更快,那為什么要用外部呢?因為使用外部的css和技術可以讓瀏覽器緩存它,這樣不僅HTML文檔大小減少,而且不會增加HTTP請求數量。另外,外部的 js/css可以提高代碼的重用性;
5、資源的延遲加載(懶加載);
$("img").lazyload
6、預加載;
7、緩存處理,使用localStorage。
B、CSS項
1、避免使用css表達式,因為它被重新極端的次數相當多;
2、避免使用@import ;
3、避免使用IE Filter;
4、避免使用后代選擇器 ul>li ;
5、利用css繼承機制;
6、避免使用通配符選擇器;
7、使用多重選擇器;
8、CSS Sprites技術
C、JavaScript項
1、使用臨時變量(或數組)存放dom節點;
2、批量操作時,使用字符串拼接,用innerHTML開銷更小,速度更快,同時內存也更安全;
3、減少dom訪問,可以緩存已經訪問過的元素,刪除dom節點中不必要的節點(remove熾熱的())和對象;
4、創建dom節點,在執行完 createElement 代碼后,應該馬上添加(append)到dom樹中;
5、監聽dom事件,監聽父節點(事件冒泡)。
D、HTML項
1、避免使用iframe,因為它會導致頁面的重繪;
2、減少節點數量;
3、避免重繪和回流,布局變化引起重繪,元素變化(內容、樣式)導致回流;
E、資源項
1、圖片
1-1、減少圖片數量(CSS Sprites);
1-2、降低圖片質量(減小圖片大小);
1-3、選擇適當的圖片樣式(jpg主要是攝影級照相類圖像,gif主要是動畫圖片,png杜宇透明無損耗的小文件是不錯的選擇);
1-4、圖片的轉碼Base64(src="data:image/jpg;base64,...");
2、避免使用flash,盡量用css3代替。
F、壓縮工具
1、jsmin壓縮代碼,不會驗證代碼語法;
2、YUIcompressor 壓縮時會驗證語法,代碼優化。
G、CDN(內容分發網絡)
CDN的好處在于
1、不用擔心自己網站訪客,在任何時間、任何地點、任何網絡運營商,都能快速打開網站;
2、各種服務器虛擬主機帶寬等采購成本,包括后期運維成本都會大大減少;
3、給網站直接帶來的好處:流量、咨詢量、客戶量、成單量。