информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Сетевые кракеры и правда о деле ЛевинаЗа кого нас держат?Все любят мед
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
 Умер Никлаус Вирт 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Спасибо, буду разбираться 17.10.03 13:13  Число просмотров: 1244
Автор: Hux0r Статус: Незарегистрированный пользователь
<"чистая" ссылка>
<programming>
[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-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach