Skip to content

图片懒加载

sunsonliu edited this page Jan 3, 2025 · 1 revision
new Cherry({
    id: 'markdown-container', 
    value: '## hello world', 
    previewer: {
        /**
        * 配置图片懒加载的逻辑
        * - 如果不希望图片懒加载,可配置成 lazyLoadImg = {noLoadImgNum: -1}
        * - 如果希望所有图片都无脑懒加载,可配置成 lazyLoadImg = {noLoadImgNum: 0, autoLoadImgNum: -1}
        * - 如果一共有15张图片,希望:
        *    1、前5张图片(1~5)直接加载;
        *    2、后5张图片(6~10)不论在不在视区内,都无脑懒加载;
        *    3、其他图片(11~15)在视区内时,进行懒加载;
        *    则配置应该为:lazyLoadImg = {noLoadImgNum: 5, autoLoadImgNum: 5}
        */
        lazyLoadImg: {
            // 加载图片时如果需要展示loading图,则配置loading图的地址
            loadingImgPath: '',
            // 同一时间最多有几个图片请求,最大同时加载6张图片
            maxNumPerTime: 2,
            // 不进行懒加载处理的图片数量,如果为0,即所有图片都进行懒加载处理, 如果设置为-1,则所有图片都不进行懒加载处理
            noLoadImgNum: 5,
            // 首次自动加载几张图片(不论图片是否滚动到视野内),autoLoadImgNum = -1 表示会自动加载完所有图片
            autoLoadImgNum: 5,
            // 针对加载失败的图片 或 beforeLoadOneImgCallback 返回false 的图片,最多尝试加载几次,为了防止死循环,最多5次。以图片的src为纬度统计重试次数
            maxTryTimesPerSrc: 2,
            // 加载一张图片之前的回调函数,函数return false 会终止加载操作
            beforeLoadOneImgCallback: (img) => {
                return true;
            },
            // 加载一张图片失败之后的回调函数
            failLoadOneImgCallback: (img) => {},
            // 加载一张图片之后的回调函数,如果图片加载失败,则不会回调该函数
            afterLoadOneImgCallback: (img) => {},
            // 加载完所有图片后调用的回调函数
            afterLoadAllImgCallback: () => {},
        },
    }
});