亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Sdk加載阻塞頁(yè)面渲染問(wèn)題的總結(jié)

AlphaGooo / 2517人閱讀

摘要:由于始終沒(méi)有還原阻塞時(shí)的情形,無(wú)法截圖。寫(xiě)模擬場(chǎng)景,由于當(dāng)時(shí)的場(chǎng)景是外鏈?zhǔn)羌虞d阻塞,而不是執(zhí)行阻塞,暫時(shí)沒(méi)有有效模擬。但是可以確定的是,使用或可以有效解決,外鏈阻塞內(nèi)部執(zhí)行的問(wèn)題。

由于始終沒(méi)有還原阻塞時(shí)的情形,無(wú)法截圖。在正常情況下,是無(wú)法區(qū)別是否使用defer的區(qū)別的。后續(xù)看一下是否能模擬場(chǎng)景。
寫(xiě)demo模擬場(chǎng)景,由于當(dāng)時(shí)的場(chǎng)景是外鏈?zhǔn)莏s加載阻塞,而不是js執(zhí)行阻塞,暫時(shí)沒(méi)有有效模擬。
但是可以確定的是,使用defer或async可以有效解決,外鏈js阻塞內(nèi)部js執(zhí)行的問(wèn)題。

Demo詳情:

ndex1里面是一個(gè)耗時(shí)一秒鐘的操作


結(jié)果


如將index1.js加上defer后


發(fā)現(xiàn),耗時(shí)的index1,沒(méi)有阻塞后續(xù)的index2和內(nèi)嵌js2執(zhí)行

假如將index1.js加上async


可發(fā)現(xiàn),不但沒(méi)有阻塞后續(xù)的index2和內(nèi)嵌js2執(zhí)行,DOMContentLoad時(shí)間也提前了

假如index1和index2都async了


可發(fā)現(xiàn),內(nèi)嵌的js1和js2,提前,外接index1,和index2順序執(zhí)行,index1阻塞了index2

假如耗時(shí)的index1 async, 后置位index2 defer


可發(fā)現(xiàn),內(nèi)嵌的js1和js2,提前, index1不阻塞了index2

假如耗時(shí)的index1 defer, 后置位index2 async


可發(fā)現(xiàn),內(nèi)嵌的js1和js2,提前, index1阻塞了index2,DOMContentLoad時(shí)間滯后

結(jié)論:

1.使用defer, async異步加載,可以使內(nèi)部的js不被阻塞

2.使用defer屬性的標(biāo)簽,永遠(yuǎn)在DOMContentLoaded事件之前執(zhí)行完成。

3.defer可以阻塞async的執(zhí)行,雖然兩個(gè)標(biāo)簽都是異步下載的

回到項(xiàng)目中:
一站式是React渲染,React的js腳本執(zhí)行一定是在DOMContentLoaded時(shí)間之前

我發(fā)現(xiàn)給機(jī)器人sdk加上defer之后 first paint 仍然是在DOMContentLoad之后,那我猜想,defer并不能使DOMContentLoad提前,會(huì)不會(huì)不能解決這個(gè)問(wèn)題

然后我找了個(gè)外網(wǎng)React CDN的script標(biāo)簽來(lái)模擬這個(gè)超時(shí)加載sdk的場(chǎng)景,發(fā)現(xiàn)首屏?xí)r間大大延長(zhǎng)


延長(zhǎng)時(shí)間基本等于js加載時(shí)間,2.63s, 而且首次渲染在DOMContentLoad之前,首屏?xí)r間沒(méi)有截全,但是看看下面這個(gè)圖你就明白了,肯定在2S以上,肯定是未加載的js影響了頁(yè)面的渲染

然后給其加上defer屬性,基本影響就小很多了,

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/100401.html

相關(guān)文章

  • 前端性能優(yōu)化之--頁(yè)面渲染優(yōu)化全面解析

    摘要:下面我們撇開(kāi)網(wǎng)絡(luò)方面的優(yōu)化,只分析靜態(tài)資源方面的優(yōu)化。不過(guò),也會(huì)阻止的構(gòu)建和延緩網(wǎng)頁(yè)渲染。未優(yōu)化正常加載優(yōu)化后異步加載根據(jù)上面的分析,我們可以清楚的認(rèn)識(shí)到,非必要優(yōu)先加載的,選擇異步加載是最優(yōu)選擇。 為什么做優(yōu)化 經(jīng)典問(wèn)題:白屏?xí)r間過(guò)長(zhǎng),用戶體驗(yàn)差產(chǎn)生的原因:網(wǎng)絡(luò)問(wèn)題、關(guān)鍵渲染路徑(CRP)問(wèn)題 怎么做優(yōu)化 如何做好優(yōu)化呢,網(wǎng)上隨便一搜,就有很多優(yōu)化總結(jié),無(wú)非就是網(wǎng)絡(luò)優(yōu)化、靜態(tài)資源(h...

    MadPecker 評(píng)論0 收藏0
  • 前端性能優(yōu)化之--頁(yè)面渲染優(yōu)化全面解析

    摘要:下面我們撇開(kāi)網(wǎng)絡(luò)方面的優(yōu)化,只分析靜態(tài)資源方面的優(yōu)化。不過(guò),也會(huì)阻止的構(gòu)建和延緩網(wǎng)頁(yè)渲染。未優(yōu)化正常加載優(yōu)化后異步加載根據(jù)上面的分析,我們可以清楚的認(rèn)識(shí)到,非必要優(yōu)先加載的,選擇異步加載是最優(yōu)選擇。 為什么做優(yōu)化 經(jīng)典問(wèn)題:白屏?xí)r間過(guò)長(zhǎng),用戶體驗(yàn)差產(chǎn)生的原因:網(wǎng)絡(luò)問(wèn)題、關(guān)鍵渲染路徑(CRP)問(wèn)題 怎么做優(yōu)化 如何做好優(yōu)化呢,網(wǎng)上隨便一搜,就有很多優(yōu)化總結(jié),無(wú)非就是網(wǎng)絡(luò)優(yōu)化、靜態(tài)資源(h...

    gghyoo 評(píng)論0 收藏0
  • 前端性能優(yōu)化之--頁(yè)面渲染優(yōu)化全面解析

    摘要:下面我們撇開(kāi)網(wǎng)絡(luò)方面的優(yōu)化,只分析靜態(tài)資源方面的優(yōu)化。不過(guò),也會(huì)阻止的構(gòu)建和延緩網(wǎng)頁(yè)渲染。未優(yōu)化正常加載優(yōu)化后異步加載根據(jù)上面的分析,我們可以清楚的認(rèn)識(shí)到,非必要優(yōu)先加載的,選擇異步加載是最優(yōu)選擇。 為什么做優(yōu)化 經(jīng)典問(wèn)題:白屏?xí)r間過(guò)長(zhǎng),用戶體驗(yàn)差產(chǎn)生的原因:網(wǎng)絡(luò)問(wèn)題、關(guān)鍵渲染路徑(CRP)問(wèn)題 怎么做優(yōu)化 如何做好優(yōu)化呢,網(wǎng)上隨便一搜,就有很多優(yōu)化總結(jié),無(wú)非就是網(wǎng)絡(luò)優(yōu)化、靜態(tài)資源(h...

    gaomysion 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<