Я использовал старинный элемент изображения для кэширования изображений. Когда они загружаются, я знаю, что они находятся в кэше браузера. Если я хочу убедиться, что они рядом, я держу их в массиве, который не может выходить за рамки.
var images = [];
// Preload a list of images with an optional callback as a final parameter.
function preload() {
if ( arguments.length == 0 ) return;
var waiting = arguments.length - 1,
count = 0,
callback = arguments[ arguments.length - 1 ];
if ( typeof callback == "string" ) {
callback = function() { };
waiting++;
}
function loaded() {
if ( ++count == waiting ) callback();
}
for ( var i = 0 ; i < waiting ; i++ ) {
var image = new Image();
image.onload = loaded;
image.src = arguments[ i ];
}
}
preload( "people.gif", "images/star.jpg", "/site/images/panorama.jpg", function() {
doSomethingWithImages();
});
Мне было бы любопытно узнать о каких-либо серьезных недостатках использования элемента изображения.
Я не могу найти оригинальную документацию для Image в MDC, но вот некоторая современная документация по использованию объекта Image.
https://developer.mozilla.org/en/Canvas_tutorial/Using_images
Но объект предшествует Canvas и HTML 5. Он уходит в прошлое.
https://web.archive.org/web/1/http://articles.techrepublic%2ecom%2ecom/5100-10878_11-5214317.html