相关文章推荐
setTimeout (() => { const coverBasemap = new Image () coverBasemap .src = 'https://img.png ' }, 300);

首先定义一个预加载的函数,在页面首次渲染时预加载所有的背景图,当切换背景图时,将会从缓存中读取图片,不会有额外的加载图片的时间。300毫秒的超时是为了防止脚本挂起,影响正常页面出现功能问题。页面闪的问题解决!

方法2、img标签

<img src="https://img.jpg" style={{display: none}} />

img标签会在html渲染到的时候,解析到img的src时,浏览器会立即开启一个线程去请求该资源。img标签通过css样式设置为隐藏,不会对页面的展示有影响。同样更换背景图的时候,会从缓存中读取。但是这种方式有局限性,Opera浏览器不生效。更所以推荐方法1。

分类:
前端
标签:
 
推荐文章