onLoad или подобное для Ajax? - PullRequest
0 голосов
/ 04 марта 2009

Добрый день,

Мне было интересно, есть ли способ заставить 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, включая фотографии.

Есть идеи?

1 Ответ

2 голосов
/ 04 марта 2009

Вы можете использовать событие onload для самих изображений. Вам нужно будет решить, как прикрепить это событие при динамической загрузке кода, как в вашем случае.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...