Forum Webscript.Ru

Программирование => Perl => Тема начата: Slike от 29 Марта 2005, 14:20:48

Название: Как выводить информацию постепенно в браузере, а не после выполнения сразу всю?
Отправлено: Slike от 29 Марта 2005, 14:20:48
Как выводить информацию постепенно в браузере, а не после выполнения сразу всю?

Допустим - выполнили подпрограмму - написали отчет, следующую - еще информация....то есть в процессе выполнения идет постепенный вывод, а не висит страница пока выполняется скрипт...


спасибо:cool:
Название: Как выводить информацию постепенно в браузере, а не после выполнения сразу всю?
Отправлено: AnnA от 29 Марта 2005, 15:32:52
попробуйтеперед выводом прописать:
$|=1;
отключаем буферирование
Название: Как выводить информацию постепенно в браузере, а не после выполнения сразу всю?
Отправлено: cr4ck3r от 29 Марта 2005, 17:10:10
А вот интересный вопрос - я к примеру выполняю операцию - и мне нужно не выводить все постепенно, а обновлять записть типа - Выполнено - N%, где N меняется в зависимости от процента выполнения задачи. Как реализовать такое в броузере?
Название: Как выводить информацию постепенно в браузере, а не после выполнения сразу всю?
Отправлено: AnnA от 29 Марта 2005, 19:43:28
наверное как-либо nph-скриптом. я где-то даже видела пример скрипта, реализующего анимацию из jpg-файлов. ;) но, наверное, в данном случае N будет "не очень правдивым" числом. ;)
Название: Как выводить информацию постепенно в браузере, а не после выполнения сразу всю?
Отправлено: Phoinix от 29 Марта 2005, 22:12:32
AnnA
Ну почему же, для тех кто хочет извратиться, можно и Perl, лишь бы таймаут не сработал.

Навскидку:

#!/usr/bin/perl
use strict;

$| = 1;

print "Content-type: text/html;\\n\\n";
print "N %";

for my $i (0..99) {
    print "
   

   
    \\ 
   

    ";
    sleep 1;
}

Perl + JavaScript могут творить чудеса...
;)