Элементы страницы не обновляются во время загрузки - PullRequest
0 голосов
/ 28 февраля 2011

Я, вероятно, упускаю что-то действительно очевидное здесь ...

Я показываю диалоговое окно с индикатором выполнения во время загрузки страницы.Диалоговое окно и индикатор выполнения являются виджетами jQueryUI.Есть несколько этапов загрузки - страница загружает запросы jQuery $ .get () для загрузки ресурсов, а затем по событию $ (document) .ajaxStop () работает с этими ресурсами.В ходе этого процесса я обновляю индикатор выполнения и текст состояния.

Проблема заключается в том, что как только событие ajaxStop срабатывает, обновления прекращаются.Код прекрасно работает во время загрузки ресурса, но затем зависает, и я не вижу никаких обновлений во время обработки.Если я поставлю точку останова на обновление после ajaxStop в Chrome и пошагово пройдусь по коду, экран обновится правильно, поэтому я знаю, что код работает.

Может кто-нибудь объяснить, почему все хорошо обновляется на этапе загрузки AJAX,но затем останавливается на событии ajaxStop?Есть ли простой способ сделать обновления продолженными после этого?

Спасибо!

1 Ответ

0 голосов
/ 28 февраля 2011

Несколько часов поиска, следующий блог указал мне правильное направление:

В статье описано расширение jQuery, которое позволяет вам определить две функции: одну для вычисления и одну для обновления пользовательского интерфейса. Он планирует их поочередно, используя функцию setTimeout.

Мне пришлось переписать мой код во что-то похожее на стиль передачи продолжения, чтобы каждая функция планировала запуск продолжения с использованием setTimeout. Это возвращает управление браузеру на достаточно долгое время для обновления экрана.

Это похоже на хак, чтобы обойти ограничения браузера / Javascript. Кто-нибудь знает лучший способ?

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