我试图找出一种方法来(几乎)保证位于服务器上的图像文件将可用于在初始加载期后无延迟地附加到DOM。可以使用Image对象在不使用缓存的情况下预加载图像吗?
我一直在使用一个标准的预加载技术,如:
var images_to_load = ['img1.png', 'img2.png', 'img3.png'];
for(var i=0; i<images_to_load.length; i++){
var img = new Image();
img.src = images_to_load[i];
}
但我已经学会了,这是否工作取决于像服务器和浏览器设置,以及图像的加载数量的因素。
我想知道是否将图像存储在内存中,然后将图像对象直接附加到DOM将改变预加载行为的方式。这是否绕过缓存?例如:
var images_to_load = ['img1.png', 'img2.png', 'img3.png'];
var images = [];
for(var i=0; i<images_to_load.length; i++){
var img = new Image();
img.src = images_to_load[i];
images.push(img);
}
document.getElementById('target').appendChild(images[0]);
(与此相关:?什么样的工具可用于测试这种行为)
我认为你需要更多的解释。原始照片在哪里?这个数组只包含名称。这些文件在客户机上吗?或者他们在服务器上,并从客户端加载它?如果您有任何服务器端平台,那么它是什么? – Meysam
我已经说明图像文件在服务器上,需要由客户端加载。 –