Использование Javascript для обновления содержимого таблицы / div во время загрузки страницы - PullRequest
1 голос
/ 16 июня 2011

В настоящее время у меня есть Perl-скрипт, который печатает некоторые HTML-таблицы и div, печатает открывающий тег <script type="text/javascript">, а затем разветвляет несколько процессов для сбора данных для заполнения таблиц. Эти разветвленные процессы асинхронно печатают операторы JavaScript document.getElementById, чтобы заполнить таблицу и элементы div. Мой Perl-скрипт ожидает всех дочерних процессов и после того, как они все вернули, печатает конечный тег </script>.

Хотя, возможно, не слишком изящно, именно так я заполняю упорядоченную таблицу с асинхронно возвращаемыми результатами. Мне бы очень хотелось видеть содержимое таблицы загрузки по мере возврата результатов, но Firefox не отображает JavaScript до получения тега </script>. Есть ли способ заставить рендеринг каждого оператора document.getElementById отправлять в браузер? Я мог печатать открывающие и закрывающие теги сценария с каждым оператором, но это казалось чрезмерным. Я не уверен, как еще справиться с отображением группы асинхронных операторов, но я открыт для всех предложений.

Спасибо!

Ответы [ 2 ]

2 голосов
/ 16 июня 2011

Вы должны будете сделать это с отдельными блоками скрипта. Ни один браузер не начнет запускать блок <script> до его завершения; не может из-за семантики языка.

0 голосов
/ 16 июня 2011

Ваше описание немного запутано. document.getElementById() не является оператором , это не языковая конструкция, а метод хост-объекта document .

document.getElementById не делает ничего, что могло бы заставить браузер перерисовать страницу. Он просто выбирает элемент с заданным идентификатором в document.

Трудно что-то сказать, не зная причин для этого постоянно обновляемого вывода, но у вас может не быть выбора, кроме как использовать отдельные блоки <script> для их непрерывного выполнения.

...