网页提高加载速度的方法

提高加载速度最本质就是减少页面请求数量,减少请求大小。实现方式主要有
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 » 网页提高加载速度的方法

赞 (3)
分享到:更多 ()

发表评论 0