У меня есть определенная страница, которая использует множество виджетов, которые должны быть инициализированы подпрограммами Javascript (около 400, это сложный). Это занимает некоторое время (даже 20 секунд на медленных машинах). Теперь я думал, что смогу показать индикатор прогресса (простое текстовое поле с процентной меткой) вместо страницы, но обнаружил, что даже если я обновляю его постоянно, текущая задача блокирует все, и я не вижу обновлений. Таким образом, все остается замороженным, пока тяжелая задача javascript не будет завершена. Я даже выполнил следующий эксперимент, но тоже зависает (и Firefox говорит, что выполнение сценария занимает слишком много времени ...):
function a(){
for (var i = 0; i < 5000000000000000; i++){
abb = i;
}
}
var abb;
function c(){
var ef = document.getElementById("pip");
ef.innerHTML = abb;
}
function b(){
setInterval(c, 50);
setTimeout(a, 1000);
}
Единственное решение, которое приходит ко мне, это разбить длинную работу на части и обновить этикетку .... но мне было интересно, есть ли другое решение! Боже, JS нужны темы как можно скорее ...:)
Есть идеи?