Как контролировать источник изображения для полностью загруженного статуса
Я загружаю большое количество изображений в динамический DIV и использую предварительный загрузчик для получения изображений.
imageObj = new Image();
imageObj.src = imgpath + imgname;
Каждое из этих событий создает GET, который я могу видеть и отслеживать в Firebug.
Если я знаю имя и путь к изображению, могу ли я просмотреть соответствующий запрос XMLHttpRequest, чтобы убедиться, что GET завершен?
Я не хочу полагаться на (или использовать) .onload события для этого процесса.
Псевдо будет выглядеть примерно так ...
if (imageObj.GET = 'complete')
Кто-нибудь имел опыт этого?
РЕДАКТИРОВАТЬ 1
Благодаря помощи от Барта (см. Ниже) я изменил свой предварительный загрузчик изображений для хранения массива объектов изображений ...
function imagePreLoader(imgname) {
images[imgnum] = new Image();
images[imgnum].src = imgpath + imgname;// load the image
imgnum ++;
}
И затем, после того, как все мои другие функции были запущены для создания содержимого DIV, я использовал атрибут image.complete в следующем ...
var interval = setInterval(function () {
imgcount = imgnum - 1; // because the imgnum counter ++ after src is called.
ok = 1;
for (i=0; i<imgcount; i++) {
if (images[i].complete == false){
ok = 0;
}
}
if (ok == 1) {
clearInterval(interval);
showIndexOnLoad();
}
}, 1000);
Это ждет, пока все изображения не будут завершены, и только запускаетshowIndexOnLoad()
функция, когда я получаю «хорошо» из функции интервала.
Все изображения теперь отображаются так, как я хотел, и все сразу, без дополнительных ожиданий GET, чтобы наверстать упущенное.
Молодец Барт, что поставил меня наimage.complete приписывать.