說說你說了解的前端性能優(yōu)化?
content方面
減少HTTP請求:合并文件、CSS精靈胞谭、inline Image
避免重定向:多余的中間訪問
使Ajax可緩存
非必須組件延遲加載
未來所需組件預(yù)加載
減少DOM元素?cái)?shù)量
將資源放到不同的域下:瀏覽器同時(shí)從一個(gè)域下載資源的數(shù)目有限埋心,增加域可以提高并行下載量
減少iframe數(shù)量
不要404
Server方面
使用CDN
添加Expires或者Cache-Control響應(yīng)頭
對組件使用Gzip壓縮
配置ETag
Flush Buffer Early
Ajax使用GET進(jìn)行請求
避免空src的img標(biāo)簽
Cookie方面
減小cookie大小
引入資源的域名不要包含cookie
css方面
將樣式表放到頁面頂部
不使用CSS表達(dá)式
不使用IE的Filter
Javascript方面
將腳本放到頁面底部
將javascript和css從外部引入
壓縮javascript和css
刪除不需要的腳本
減少DOM訪問
合理設(shè)計(jì)事件監(jiān)聽器
圖片方面
優(yōu)化圖片:根據(jù)實(shí)際顏色需要選擇色深、壓縮
優(yōu)化css精靈
不要在HTML中拉伸圖片
保證favicon.ico小并且可緩存
你有用過哪些前端性能優(yōu)化的方法挂脑?
減少http請求次數(shù):
CSS Sprites, JS、CSS源碼壓縮欲侮、圖片大小控制合適崭闲;
網(wǎng)頁Gzip,CDN托管威蕉,data緩存 刁俭,圖片服務(wù)器。
前端模板 JS+數(shù)據(jù)韧涨,減少由于HTML標(biāo)簽導(dǎo)致的帶寬浪費(fèi)牍戚,
前端用變量保存AJAX請求結(jié)果沙兰,每次操作本地變量,不用請求翘魄,減少請求次數(shù)
用innerHTML代替DOM操作鼎天,減少DOM操作次數(shù),優(yōu)化javascript性能暑竟。
當(dāng)需要設(shè)置的樣式很多時(shí)設(shè)置className而不是直接操作style
少用全局變量斋射、緩存DOM節(jié)點(diǎn)查找的結(jié)果。
減少IO讀取操作
避免使用CSS Expression(css表達(dá)式)又稱Dynamic properties(動態(tài)屬性)
圖片預(yù)加載但荤,將樣式表放在頂部
將腳本放在底部 加上時(shí)間戳
避免在頁面的主體布局中使用table罗岖,table要等其中的內(nèi)容完全下載之后才會顯示出來,顯示比div+css布局慢