Добрый день,
Мне было интересно, есть ли способ заставить Ajax перейти к следующему сегменту кода, только когда все элементы, включенные в кодовую страницу на стороне сервера, полностью загружены. Когда извлеченные данные имеют только текстовый характер, проблем не возникает, но иногда есть фотографии.
Это часть кода, который я использовал:
xajx.onreadystatechange = function(){
if(xajx.readyState==4){
document.all.div1.innerHTML = xajx.responseText;
document.all.div1.style.display = “”;
}
}
Дело в том, что когда ответ получен (readyState установлен в 4) и отображается div1, фотография еще не была полностью загружена, так что на самом деле пользователь может видеть процесс медленного отображения изображения, как он это делает в любой другой «нормальный» случай. Что я хочу сделать, так это сделать div1 доступным для отображения только после полной загрузки всех компонентов, пока система выполняет свои функции в фоновом режиме. До Ajax я использовал скрытые iframe, как и все, поэтому я мог заключить обработчик события onload в тег iframe (или во внешний скрипт), чтобы div1 появлялся только после полной загрузки iframe, включая фотографии.
Есть идеи?