Использование JavaScript. Я пытаюсь вызвать около 50-100 запросов HTTP / Ajax (в цикле) при обновлении HTML-DOM-элементов, основанных на ответах AJAX / HTTP, в режиме реального времени, в Firefox это прекрасно работает!
Проблема, с которой я сталкиваюсь, заключается в том, что Chrome / Safari (и Opera) не обновляют HTML-страницу до тех пор, пока не закончится цикл из всех 100 запросов.
Даже анимации GIF, такие как «prealoaders», застряли.
Есть подсказка? или чаевые?
Я уже пробовал:
ЗАПРОСЫ HTTP ЗАПИСИ / функции:
- Простой JavaScript XMLHttpRequest ()
- JQuery $ .ajax ()
Запуск цикла HTML / DOM при загрузке документа:
- $ (окно) .bind («загрузка», функция ()
- document.addEventListener ("DOMContentLoaded", функция ()
РАБОЧИЙ ПРОГРАММИРОВАНИЕ:
- Запуск LOOP с 100 итерациями
- Запуск функции обновления N раз отдельно. (без петли)
- Я также пытался ждать N миллисекунд в цикле и во время вызова функций.
function update_100_items_in_html_by_ajax(){
var item_list='1,2,3,4,5,6,7,8,9,10,11,XX,YY,Z'.split(',');
for (item_id in item_list) {
xmlhttp=new XMLHttpRequest();
xmlhttp.open("GET", "/item_id.php?id="+item_id, false);
xmlhttp.send();
if (xmlhttp.status==200) {
document.getElementById('item_id_'+item_id).innerHTMLxmlhttp.responseText;
};
};
};
... и я называю JavaScript из HTML следующим образом ...
document.addEventListener("DOMContentLoaded", function(){
update_100_items_in_html_by_ajax();
});
Вопрос, который я ищу ...
Как разблокировать браузер и обновить DOM в реальном времени? во время выполнения вызовов Javascript / Ajax?
THX. Много.