提高加载速度最本质就是减少页面请求数量,减少请求大小。实现方式主要有
1、图片懒加载,这个推荐使用成熟的库lazysizes,固定宽高值的图片实现比较简单,固定宽高比的话有几种实现方案:
第一种方案使用padding-top或者padding-bottom来实现固定宽高比。优点是纯CSS方案,缺点是HTML冗余,并且对输出到第三方不友好。
第二种方案在页面初始化阶段利用ratio设置实际宽高值,优点是html干净,对输出到第三方友好,缺点是依赖js,理论上会至少抖动一次。
此方案需要定义一个设置图片高度的函数:
function resetImgHeight(els, placeholder) {
var ratio = 0,
i, len, width;
for (i = 0, len = els.length; i < len; i++) {
els[i].src = placeholder;
width = els[i].clientWidth; //一定要使用clientWidth
if (els[i].attributes['data-ratio']) {
ratio = els[i].attributes['data-ratio'].value || 0;
ratio = parseFloat(ratio);
}
if (ratio) {
els[i].style.height = (width * ratio) + 'px';
}
}
}
2、js/css按需打包
这里需要webpack的配合来实现
3、用base64减少不必要的网络请求
可以使用gulp自动化工具来实现
4、js/css按需加载
简单说就是动态插入script节点,用webpack实现就是require.ensure()
本文均为荣益互联摘自权威资料,书籍,文章,或来自网络,如有版权纠纷或违规问题,请联系我们删除。我们欢迎您的分享,谢绝直接抄袭复制。感谢…