瀏覽器渲染優(yōu)化

  1. css放在前面,JS放在后面

【href和src的區(qū)別】
一般加載CSS用href,并放在頭部;加載script用src,放在body內(nèi)的下方。
【href】
是hypertext reference的縮寫,表示超文本引用,用來(lái)建立當(dāng)前元素和文檔間的鏈接。常用的有l(wèi)ink,a。
當(dāng)CSS使用href引用,瀏覽器會(huì)識(shí)別該文檔問CSS,(并行下載,不會(huì)停止對(duì)當(dāng)前文檔的加載)。
【 src】
是source的縮寫,是資源,頁(yè)面必不可少的一部分,src指向的內(nèi)容會(huì)嵌入到文檔中當(dāng)前標(biāo)簽的位置。常用的有img, script, iframe。 (當(dāng)script使用src引用,瀏覽器解析到該元素時(shí)會(huì)停止對(duì)文檔的渲染,直到該資源加載完成。這也是將script放底部而不是頭部的原因。)
【 把CSS放頭部,script放下方的原因】
CSS放頭部
在加載html生成DOM tree的時(shí)候,就可以同時(shí)對(duì)DOM tree進(jìn)行渲染。
這樣可以防止閃跳,白屏或者布局混亂。
javascript放在后面
javascript可能會(huì)改變DOM tree的結(jié)構(gòu),所以需要一個(gè)穩(wěn)定的DOM tree。
javascript加載后會(huì)立即執(zhí)行,同時(shí)會(huì)阻塞后面的資源加載。(javascript加載和執(zhí)行的特點(diǎn))

  1. 使用懶加載(圖片懶加載,下拉加載更多)

  2. 減少DOM查詢,對(duì)DOM查詢做緩存;

  3. 減少DOM操作,多個(gè)操作盡力合并在一起執(zhí)行;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 瀏覽器的主要功能是將用戶選擇的web資源呈現(xiàn)出來(lái),它需要從服務(wù)器請(qǐng)求資源,并將其顯示在瀏覽器窗口中,資源的格式通常...
    肆意咯咯咯閱讀 591評(píng)論 0 1
  • 背景(做前端永遠(yuǎn)也跨不過去了就是性能優(yōu)化) 公司目前有大量前后端耦合項(xiàng)目,瀏覽器的首屏加載速度非常的慢,在不段優(yōu)化...
    天一呀閱讀 1,210評(píng)論 0 4
  • Hello~大家好,這是我學(xué)習(xí)瀏覽器渲染機(jī)制時(shí)做的筆記,由于本人水平有限,所以在參考文章對(duì)于看不懂的便暫時(shí)沒有作筆...
    一包閱讀 250評(píng)論 0 0
  • 發(fā)送 & 接收信息 數(shù)據(jù)是以“數(shù)據(jù)包”的形式通過互聯(lián)網(wǎng)發(fā)送,而數(shù)據(jù)包以字節(jié)為單位。當(dāng)你編寫一些 HTML、CSS ...
    mongofeng閱讀 1,125評(píng)論 0 0
  • 小白時(shí)期 在業(yè)務(wù)經(jīng)驗(yàn)不足的時(shí)候,對(duì)Web性能的理解是籠統(tǒng)的,了解的優(yōu)化方式也是零零散散,閱讀了一些性能優(yōu)化的標(biāo)準(zhǔn),...
    一個(gè)笑點(diǎn)低的妹紙閱讀 768評(píng)論 0 1

友情鏈接更多精彩內(nèi)容