Я использую document.images для загрузки изображений, когда посетитель впервые заходит на сайт. Причина в том, что у меня есть несколько разных областей, в которых есть ролловеры. Прежде чем я переключусь на использование CSS-спрайтов (изменяя большую работу), я собираюсь спросить здесь.
Итак, я загружаю изображения следующим образом:
images = new Array();
if (document.images) {
images.push(preloadImage("http://website.com/images/myimg.png", 300, 200));
}
function preloadImage(src, x, y) {
var img = new Image(x, y);
img.src = src;
return img;
}
И в соответствии с "ресурсной" панелью Chrome, это работает просто отлично. Даже после нажатия CTRL + F5 изображения, перечисленные в JS, загружаются.
ОДНАКО они не используются. Если навести курсор на элемент в одном из трех моих сценариев, изображение будет загружено во второй раз . Derp
Я предполагаю, что при предварительной загрузке изображений вы должны использовать этот массив изображений. Я думал, что браузер будет достаточно умен, чтобы сказать: «Эй, это одно и то же изображение, давайте использовать его дважды», но, очевидно, нет.
Так это правильно? Нужно ли переписывать мои программы для предварительной загрузки изображений по отдельности? Я знаю, это звучит не сложно, но на самом деле это не предназначено для этого.