我想在显示这个新页面之前预加载由 AJAX 方法调用的页面的所有图像。
new Image
元素。.onload()
方法来获取一个事件。不幸的是,我注意到当我的 DOM 更新时,所有图像都会再次加载,尽管我进行了预加载过程。看起来浏览器不明白他已经加载了这些图像。
有人看到我错过了什么吗? 非常感谢
这是我预加载图像的方法:
let parser = new DOMParser();
let doc = parser.parseFromString(data, "text/html");
if(doc.querySelectorAll('.preload').length !== 0){
this.len = doc.querySelectorAll('.preload').length
doc.querySelectorAll('.preload').forEach(x => {
let limg = new Image();
limg.src = x.getAttribute('src');
limg.onload = () => {
this.counter++;
this.oneImageIsLoaded();
}
});
}