在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML/ vue項(xiàng)目中如何更合理的對(duì)待各類圖片?

vue項(xiàng)目中如何更合理的對(duì)待各類圖片?

今天發(fā)現(xiàn)一個(gè)問(wèn)題,有一些圖片,大約16kb左右(甚至更大的banner圖),并沒(méi)有被打包到項(xiàng)目中,也沒(méi)有被轉(zhuǎn)為base64格式,這部分圖片默認(rèn)是延遲加載的,我做了如下測(cè)試,請(qǐng)求一個(gè)頁(yè)面,頁(yè)面上通過(guò)i標(biāo)簽放了一個(gè)背景圖片,然后通過(guò):hover來(lái)改變其背景圖片;

當(dāng)我請(qǐng)求到該頁(yè)面,等待一段時(shí)間,然后鼠標(biāo)移動(dòng)到該按鈕上,f12可以看到有請(qǐng)求發(fā)出,并且請(qǐng)求到該背景,但是這時(shí)有一個(gè)問(wèn)題,在請(qǐng)求圖片過(guò)程中,:hover上去的圖片是不可見(jiàn)的,就是說(shuō)有一段時(shí)間的空白期,用戶體驗(yàn)非常不好,該如何處理這類型問(wèn)題呢:

對(duì)于這種小圖片,我的想法是,做成svg,合并到一張圖片上,通過(guò)backgrond-postion來(lái)做相同的效果,但是svg體積比較小

1、多大圖片分界點(diǎn)會(huì)被打包(轉(zhuǎn)成base64)到一起呢?
2、svg雖然提交小,但是如果圖片多,打包到一起還是對(duì)app的提交有所影響吧,該如何對(duì)待這個(gè)問(wèn)題呢?是打包,還是延遲加載?
3、對(duì)于大很多的banner圖(140kb-200kb),怎么處理好呢,在加載這類圖片的時(shí)候明顯可以看到請(qǐng)求時(shí)所帶來(lái)的空白期

回答
編輯回答
安若晴

1 base64位 例如轉(zhuǎn)換位雪碧圖(CSSSprites) 建議3-5張大小不是很大的圖片以下都可以考慮

2 svg提交并沒(méi)有什么影響把 可能擔(dān)心的問(wèn)題是 會(huì)涉及到本地緩存 我建議使用延遲加載
或者說(shuō)是 預(yù)加載 https://segmentfault.com/q/10...

3 這一點(diǎn)也可以利用預(yù)加載 至于第一次加載 如果圖片不大的 加入緩存 直接讓用戶載到本地也可以

2017年5月25日 22:00
編輯回答
遲月

1、8K
2、app的圖片打包到一起,適配的時(shí)候定位比較繁瑣
3、vue-lazyload 處理空白期

2018年1月14日 01:35
編輯回答
醉淸風(fēng)

建議10kb以下用base64的格式吧。如果不喜歡用的話還可以這樣:
在頁(yè)面上用<img>標(biāo)簽來(lái)先加載這張圖片,比如:

<img src="baidu.com/img" style="display:none;">

這樣圖片是不可見(jiàn)的,也能提前加載,而不必等待hover的時(shí)候才去加載圖片,當(dāng)然這樣也有一點(diǎn)不好,就是多了一個(gè)標(biāo)簽。
當(dāng)然你也可以用js new Image()來(lái)提前l(fā)oad,方法很多,按你的習(xí)慣選擇。

2018年8月2日 11:42