图片预加载

最近在做一个内嵌在 APP 里的端午抽奖活动,其它的已经基本没什么问题了,就是抽完奖后的图片弹框在弱网环境下加载比较慢。我是一个对用户体验有要求的人,我自己都不能忍受的东西我不会让它被用户看到。

话虽如此,但是图片已经让设计师压缩得很小了,还有什么办法呢。正在我想不到办法的时候测试的一句话惊醒了我,他说他们之前公司是用图片预加载解决这种问题的。想来我们确实也可以在抽奖完成前先把弹框的图片预先加载。

如果图片不多直接在文档底部引入再将其隐藏即可:

<html>
    <head>
        <style>
            .prefetch{
                display:none;
            }
        </style>
    </head>
    <body>

        <img src="./images/0.jpg" class="prefetch" />
        <img src="./images/1.jpg" class="prefetch"/>
        <script src="./javascript/mian.js"></script>
    </body>
</html>

TIP

预加载的图片放在文档底部主要是为了不影响主内容的加载。

若是图片比较多就还是 Javascript 处理比较方便:

function imgPrefetch() {
    for (var i = 0; i < imgList.length; i++) {
        var img = new Image()
        img.src = imgList[i]
    }
}
var imgList = ['./images/0.jpg','./images/1.jpg','./images/3.jpg','./images/4.jpg']
imgPrefetch(imgList)

如此看来预加载倒是比懒加载容易多了。

Last Updated: 7/16/2020, 11:24:55 PM