提高加载速度最本质就是减少页面请求数量,减少请求大小。实现方式主要有
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'; } } }
3.js/css按需打包
这里需要webpack的配合来实现
4.用base64减少不必要的网络请求
可以使用gulp自动化工具来实现
5.js/css按需加载
简单说就是动态插入script节点,用webpack实现就是require.ensure();
欢迎分享本文,转载请保留出处:前端ABC » 网页提高加载速度的方法