iframe用法實(shí)例 web前端影響頁(yè)面渲染的主要因素是?
web前端影響頁(yè)面渲染的主要因素是?主要因素:1、script腳本阻塞渲染進(jìn)程,一般的處理都是將script放在body標(biāo)簽的尾部,或者采用異步script2、頁(yè)面體積。一般頁(yè)面內(nèi)容越多,越復(fù)雜,瀏覽
web前端影響頁(yè)面渲染的主要因素是?
主要因素:
1、script腳本阻塞渲染進(jìn)程,一般的處理都是將script放在body標(biāo)簽的尾部,或者采用異步script
2、頁(yè)面體積。一般頁(yè)面內(nèi)容越多,越復(fù)雜,瀏覽器渲染的耗時(shí)就越大,所以一般的處理是頁(yè)面懶加載,按需加載,將一個(gè)大的script分成多個(gè)bundle文件
3、頁(yè)面中有耗時(shí)的執(zhí)行腳本,這個(gè)過(guò)程是在頁(yè)面瀏覽過(guò)程中,因?yàn)閳?zhí)行某段耗時(shí)腳本而導(dǎo)致的頁(yè)面卡頓,這種情況可以考慮將耗時(shí)任務(wù)放到web worker中和頁(yè)面線程并行
4、頁(yè)面中引入ifreme,或者移動(dòng)播放的媒體組件。因?yàn)閕frame會(huì)阻止瀏覽器渲染進(jìn)程,所以建議頁(yè)面中不到萬(wàn)不得已,盡量少使用iframe,對(duì)于視頻這種資源比較大的場(chǎng)景,可以等頁(yè)面加載完成后再啟動(dòng)媒體的加載。
5、網(wǎng)絡(luò)問(wèn)題也是影響頁(yè)面加載的原因之一,一般我們的處理方案是對(duì)靜態(tài)資源打包壓縮,或者采用cdn來(lái)降低加載耗時(shí),減少同域名下網(wǎng)絡(luò)的請(qǐng)求數(shù)也是一個(gè)優(yōu)化措施
Iframe特點(diǎn)?
iframe的優(yōu)點(diǎn):
1、iframe能夠原封不動(dòng)的把嵌入的網(wǎng)頁(yè)展現(xiàn)出來(lái);
2、如果有多個(gè)網(wǎng)頁(yè)引用iframe,那么只需要修改iframe的內(nèi)容,就可以實(shí)現(xiàn)調(diào)用每一個(gè)頁(yè)面的更改,方便快捷;
3、網(wǎng)頁(yè)如果為了統(tǒng)一風(fēng)格,頭部和版本都是一樣的,就可以寫成一個(gè)頁(yè)面,用iframe嵌套,可以增加代碼的可重用;
4、如果遇到加載緩慢的第三方內(nèi)容,如圖標(biāo)或廣告,這些問(wèn)題可以由iframe來(lái)解決;
5、iframe會(huì)堵塞主頁(yè)面的Onload事件;
6、iframe和主頁(yè)面共享連接池,而瀏覽器對(duì)相同域的連接有限制,所以會(huì)影響頁(yè)面的并行加載。
iframe的缺點(diǎn):
1、iframe會(huì)阻塞主頁(yè)面的Onload事件;
2、iframe和主頁(yè)面共享鏈接池,而瀏覽器對(duì)相同城的鏈接有限制,所以會(huì)影響頁(yè)面的并行加載;
3、使用iframe之前需要考慮這兩個(gè)缺點(diǎn),如果需要使用iframe,最好是通過(guò)JavaScript;
4、動(dòng)態(tài)給iframe添加src屬性值,這樣可以可以繞開以上兩個(gè)問(wèn)題
5、不利于seo
6、代碼復(fù)雜,無(wú)法一下被搜索引擎索引到
7、iframe框架頁(yè)面會(huì)增加服務(wù)器的http請(qǐng)求,對(duì)于大型網(wǎng)站不可取。
8、很多的移動(dòng)設(shè)備無(wú)法完全顯示框架,設(shè)備兼容性差。