场景
某天做的活动页,安卓用户吐槽页面加载缓慢,lighthouse工具马上走一波,得到的性能评分如下:
看到下面Opportunity的那部分检测信息,发现原来是由于gif体积大的缘故拖慢了页面的加载速度,lighthouse给出的建议是将gif转换为webm(视频格式的文件,官方详细建议可以参考这里:gif官方优化建议)
这里官方优化建议会推荐使用FFmpeg工具进行gif文件转换,但是文档有些复杂而且都是英文,在网上另外再搜了一个:gif在线转换工具
参考代码
需要注意:
1、官方推荐是把视频文件放在source标签内,但是会有问题,这边直接放在video标签内
2、加个poster属性,用于展示视频没加载完时的默认封面,这里一定得加,不然在切换视频的时候,安卓手机切换瞬间会有个很大的播放图标,很影响用户体验
3、遗憾的是webm仅支持安卓手机,苹果手机播放不了(换成mp4格式也播放不了),但这次的主要问题是在安卓手机上,那就先放着啦
<video
class="lamp-img"
:src="
'https://img.duomiyuanplay.com/image/aladdin/' + openBoxUrl + '.webm'
"
:poster="
'https://img.duomiyuanplay.com/image/aladdin/' + openBoxUrl + '.jpg'
"
v-if="!isIos"
preload
autoplay
loop
muted
playsinline
></video>
优化后的评分
虽然没有达到最佳,但毕竟上升了10分,比之前加载更快了,感觉还是很nice的