Я загружаю файлы через метод IFRAME, описанный здесь:
http://encosia.com/2007/02/23/ajax-file-downloads-and-iframes/
И показываю прогресс в div и скрываю этот div при завершении загрузки:
$(objIframe).load(function() { $("#spinner").hide(); });
Проблема в том, что эта функция обратного вызова никогда не вызывается в Internet Explorer, но она отлично работает в FireFox.Я добавил случайные значения в строку запроса, чтобы избежать кеширования.Почему обратный вызов не вызывается?
Вот моя последняя попытка.
// prepare iframe setTimeout(checkReadyState, 100); function checkReadyState() { if (objIframe.contentWindow.document.readState !== "complete") { setTimeout(checkReadyState, 100); } else { $("#spinner").hide(); } }
Насколько я знаю, onLoad не сработает, если контент не является каким-либо HTML-документом. По крайней мере, в моих тестах это имеет тенденцию быть успешным, например, текстовые файлы, html, изображения и т. д., но не для большинства других.