使用javascript后台下载图片

设置 body 标签样式的 background-image 属性,可以为 body 标签添加背景图片,代码如下:

document.body.style.backgroundImage = "url(some url)";

浏览器会自动从 url 下载图片,并显示在界面上。 但如果网速不快时,界面上会看到图片逐渐加载的过程。为了避免浏览器显示图片下载过程,需要使用 javascript 在后台下载图片。
通过 Image 类可以实现图片的后台下载。 Image 对象设置 src 属性后,浏览器就会在后台下载图片,无论该 Image 对象是否在 DOM 树中。

let background_image = new Image();
background_image.src = 'some url';

图像下载是异步过程,当图片下载完成后,Image 对象会触发 load 事件。 我们可以在 load 事件的响应函数中将 body 的背景图片设为 Image 对象的图片。 注意,添加 load 事件处理函数一定要在设置 src 属性前。

let background_image = new Image();
background_image.onload = function(event){
    document.body.style.backgroundImage = "url("+ this.src +")";
};
background_image.src = image_url;

下载图片后切换背景图片,提高界面显示的流畅度。