информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Где водятся OGRыАтака на InternetВсе любят мед
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Уголовное дело против Nginx 
 Microsoft сообщила о 44 миллионах... 
 Множественные уязвимости в VNC 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[Perl] Как это реализовать? 13.10.03 17:40   [whiletrue, !mm]
Автор: Hux0r Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Как реализовать фоновую работу скрипта на perl, что-бы во время его работы в окне експлорера клиента выводилась динамическая информация, например флешка или gif, а также текст ?
[Perl] Как это реализовать? 14.10.03 15:24  
Автор: whiletrue <Роман> Статус: Elderman
<"чистая" ссылка>
> Как реализовать фоновую работу скрипта на perl, что-бы во
> время его работы в окне експлорера клиента выводилась
> динамическая информация, например флешка или gif, а также
> текст ?

Кажись, в общем случае незя. Но где-то здесь пробегало нечто о держании соединения незакрытым, т.е. получается бесконечно грузящаяся страница. Вопрос звучал в приложении к чату... поищи.

З.Ы. -> веб бильдинг
[Perl] Как это реализовать? 15.10.03 10:28  
Автор: Hux0r Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Мне просто нужно сделать таким образом:
Пользователь заходит на страничку index.pl, в которой отрабатывается скрипт (поиск по базе данных и тому подобное), это занимает некоторое время (пару секунд). У пользователя на экране должен высвечиваться текст, например "Waiting..." После отработки скрипта, на странице должна появиться некая уже статическая форма.
[Perl] Может я чего и перемудрил, но все что мне придумалось сводится к следующему 15.10.03 12:43  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> Мне просто нужно сделать таким образом:
> Пользователь заходит на страничку index.pl, в которой
> отрабатывается скрипт (поиск по базе данных и тому
> подобное), это занимает некоторое время (пару секунд). У
> пользователя на экране должен высвечиваться текст, например
> "Waiting..." После отработки скрипта, на странице должна
> появиться некая уже статическая форма.
Нужно в index.pl выдавать этот самый Waiting и вешать обработчик на onload - редирект на другую страницу. Причем не выходить из скрипта (не закрывать сокет) пока не завершится запрос.

А вот с запросом самое интересное. Для связи двух в отдельных CGI запросов нужно повесить отдельный процесс, который будет по запросу от перлового скрипта обращаться к базе и сигнализировать, что обращение закончено. А другому скрипту он будет отдавать полученные из базы данные. При этом все наборы данных идентифицируются случайным идентификатором сессии (который вставляется в редирект от первого запроса). Процесс хранит данные до тех пор, пока они не будут запрошены или не произойдет таймаут. Кроме того при такой схеме можно предусмотреть кеширование некоторых запросов и пр..
Это трудный, но более интересный вариант. Такую схему можно использовать для любого межскриптового взаимодействия.

Менее трудный заключается в том, чтобы обернуть waiting и форму в div-ы с разными классами (например waiting и form). Перл генерирует для класса, div.waiting стиль видимый, а для div.form - невидимый. А скрипт на событии onload переключает это все наоборот.
[Perl] Про простой вариант 16.10.03 10:00  
Автор: whiletrue <Роман> Статус: Elderman
<"чистая" ссылка>
> Менее трудный заключается в том, чтобы обернуть waiting и
> форму в div-ы с разными классами (например waiting и form).
> Перл генерирует для класса, div.waiting стиль видимый, а
> для div.form - невидимый. А скрипт на событии onload
> переключает это все наоборот.

Даже "waiting..." делать на старой странице (вышеописанным способом), т.е. при нажатии кнопки/ссылки появляется тот невидимый слой... Одновременно послан запрос на сервак, и как только он полностью обсчитает страницу - пусть ее и выводит...
[Perl] Ну да 16.10.03 10:38  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> Даже "waiting..." делать на старой странице (вышеописанным
> способом), т.е. при нажатии кнопки/ссылки появляется тот
> невидимый слой... Одновременно послан запрос на сервак, и
> как только он полностью обсчитает страницу - пусть ее и
> выводит...
В простом варианте я это и имел в виду. Все на одной странице, только инициализируется: waiting - видно, форму - не видно, а после загрузки (то бишь когда запрос отработан) - наоборот.
[Perl] 17.10.03 08:41  
Автор: Hux0r Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Нужно в index.pl выдавать этот самый Waiting и вешать обработчик на
> onload - редирект на другую страницу. Причем не выходить из скрипта (не
> закрывать сокет) пока не завершится запрос.
> В простом варианте я это и имел в виду. Все на одной
> странице, только инициализируется: waiting - видно, форму -
> не видно, а после загрузки (то бишь когда запрос отработан)
> - наоборот.
Но возникает опять же проблема, в index.pl рисую "Waiting...", вешаю редирект, но редирект не срабатывает пока полностью не отработает цикл в скрипте.
#!/usr/bin/perl 
print "Content-type: text/html\n\n";
print '<BODY onLoad="./waiting.html">';

# ---------------- Основной цикл скрипта
for (...)
{....}
# -----------------
А потом происходит редирект...

---
Пробовал на php - та же проблема...
[Perl] БЕЗ редиректа 17.10.03 12:31  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> Но возникает опять же проблема, в index.pl рисую
> "Waiting...", вешаю редирект, но редирект не срабатывает
> пока полностью не отработает цикл в скрипте.

Форма загружается в невидимый слой. А после того, как полностью загрузится, делается видимой. А waiting соответственно скрывается
[Perl] 17.10.03 09:15  
Автор: whiletrue <Роман> Статус: Elderman
<"чистая" ссылка>
> > Нужно в index.pl выдавать этот самый Waiting и вешать
> обработчик на
> > onload - редирект на другую страницу. Причем не
> выходить из скрипта (не
> > закрывать сокет) пока не завершится запрос.
> > В простом варианте я это и имел в виду. Все на одной
> > странице, только инициализируется: waiting - видно,
> форму -
> > не видно, а после загрузки (то бишь когда запрос
> отработан)
> > - наоборот.
> Но возникает опять же проблема, в index.pl рисую
> "Waiting...", вешаю редирект, но редирект не срабатывает
> пока полностью не отработает цикл в скрипте.
>
> #!/usr/bin/perl 
> print "Content-type: text/html\n\n";
> print '<BODY onLoad="./waiting.html">';
> 
> # ---------------- Основной цикл скрипта
> for (...)
> {....}
> # -----------------
> А потом происходит редирект...
> 

---
> Пробовал на php - та же проблема...

При нажатии на кнопку/ссылку жабаскриптой показывай (до этого невидимый) слой с waiting. Одновременно запрос послан на сервак. Как только отработает цикл - покажется новая полностью сформированная страница. Или я че-то не понял?
[Perl] но как... 17.10.03 10:40  
Автор: Hux0r Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> При нажатии на кнопку/ссылку жабаскриптой показывай (до
> этого невидимый) слой с waiting. Одновременно запрос послан
> на сервак. Как только отработает цикл - покажется новая
> полностью сформированная страница. Или я че-то не понял?

А как сделать слои (не)видимыми?
Идеально будет если Вы покажете это на простейшем скрипте-примере, если не затруднит.
[жабаскрипт] ну навроде этого 17.10.03 12:18  
Автор: whiletrue <Роман> Статус: Elderman
Отредактировано 17.10.03 12:18  Количество правок: 1
<"чистая" ссылка>
> > При нажатии на кнопку/ссылку жабаскриптой показывай
> (до
> > этого невидимый) слой с waiting. Одновременно запрос
> послан
> > на сервак. Как только отработает цикл - покажется
> новая
> > полностью сформированная страница. Или я че-то не
> понял?
>
> А как сделать слои (не)видимыми?
> Идеально будет если Вы покажете это на простейшем
> скрипте-примере, если не затруднит.


<html>
<head>
<title>Слои</title>

<SCRIPT TYPE='text/javascript' LANGUAGE='JavaScript'>
<!--
function DoIt(){
l1.style.visibility=(l1.style.visibility=="hidden")?"visible":"hidden";
l2.style.visibility=(l2.style.visibility=="hidden")?"visible":"hidden";
}
//-->
</SCRIPT>

</head>
<body>

<a href=# onclick=DoIt()>Нажми меня</a>
<div id=l1 style=position:absolute;top:30;visibility:hidden>
Слой1
</div>
<div id=l2 style=position:absolute;top:30;visibility:visible>
Слой2
</div>

</body>
</html>


---
Спасибо, буду разбираться 17.10.03 13:13  
Автор: Hux0r Статус: Незарегистрированный пользователь
<"чистая" ссылка>
1






Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2019 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach