Автор Тема: Как выводить информацию постепенно в браузере, а не после выполнения сразу всю?  (Прочитано 3359 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Slike

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 20
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Как выводить информацию постепенно в браузере, а не после выполнения сразу всю?

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


спасибо:cool:

Оффлайн AnnA

  • Фанатка форума
  • Старожил
  • ****
  • Сообщений: 263
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
попробуйтеперед выводом прописать:
$|=1;
отключаем буферирование
пока-пока. :)

Оффлайн cr4ck3r

  • Фанат Perl
  • Постоялец
  • ***
  • Сообщений: 146
  • +0/-0
  • 2
    • Просмотр профиля
    • http://perlmonks.org.ru
А вот интересный вопрос - я к примеру выполняю операцию - и мне нужно не выводить все постепенно, а обновлять записть типа - Выполнено - N%, где N меняется в зависимости от процента выполнения задачи. Как реализовать такое в броузере?
Ворота в perl - perlmonks.org.ru

Оффлайн AnnA

  • Фанатка форума
  • Старожил
  • ****
  • Сообщений: 263
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
наверное как-либо nph-скриптом. я где-то даже видела пример скрипта, реализующего анимацию из jpg-файлов. ;) но, наверное, в данном случае N будет "не очень правдивым" числом. ;)
пока-пока. :)

Оффлайн Phoinix

  • RW
  • Ветеран
  • *****
  • Сообщений: 1097
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phoinix.ucoz.ru
AnnA
Ну почему же, для тех кто хочет извратиться, можно и Perl, лишь бы таймаут не сработал.

Навскидку:

#!/usr/bin/perl
use strict

$| = 
1;

print 
"Content-type: text/html;\\n\\n";
print 
"N <input type=text size=3 name=percent> %";

for 
my $i (0..99) {
    print 
"
    <TABLE bgcolor=red align=left><tr><td>
    <script>
        function SetPerc (Num) {
             document.all.percent.value = Num;
        }
        SetPerc (\'
$i\') ;
    </script>
    \\ 
    </td></tr></table>
    "
;
    
sleep 1;
}


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

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28