Сверлим чат MTV F-22 Хакер, номер #082, стр. 082-076-2 4) work.aspx - основной сценарий, который осуществляет управление чатом. Общая схема их совместного функционирования приведена на рис. 2. Когда клиент подключается к системе, серверные сценарии speech.aspx и list.aspx выбирают из своих баз данных последние сообщения и актуальный список ников, после чего формируют соответствующие html-страницы и отсылают их пользователю. После этого все функционирование чата уже происходит благодаря сценарию work.aspx, вывод которого обновляется каждые 15 секунд и содержит в себе динамически формируемый список javascript-команд, которые влияют на содержимое остальных страниц. Страница input.aspx содержит формы для входа, выхода и отсылки сообщения в чат. Все это безобразие разбросано по четырем фреймам. Формы из input.aspx отсылаются во фрейм с work.aspx, передавая ему методом POST соответствующие параметры. В свою очередь, work.aspx возвращает страницу с набором javascript-команд, которые приписывают пользователю cookie с его session_id для последующей идентификации, и обновляют форму input.aspx. Далее work.aspx периодически, или принудительно после отправки сообщения, дописывает новые данные во фреймы со страницами list.aspx и speech.aspx. Содержимое его команд выглядит примерно следующим образом: [макет того, что подгружается в work.aspx] top.addMessage('co', ' top.addMessage('co', ' top.addUser('6e6a4778-b513-4bb2-98f8-781f7f4aef07', 'D`Avol', false); top.removeOldMessages(250); //и т.д. Описание вызываемых из work.aspx функций содержится в файле chat.js. [о скрытых полях] В стандарте HTML 4 есть такая интересная фишка, как таблицы стилей (CSS). Наверняка любой, кто сидел в интернете и пытался сам создавать web-странички, слышал о такой штуке. CSS имеет три версии, которые называются «уровнями» (levels), причем каждая, более старшая версия, является надмножеством предыдущих. С момента вступления в действие стандарта CSS Level 2 уже прошло достаточно много времени, поэтому на сегодняшний день именно он считается основным и поддерживается всеми современными браузерами. Среди огромного числа предоставляемых возможностей нас сегодня будет интересовать только одна: поддержка «скрытых» полей. Это блоки html-кода или сплошного текста, которые загружаются в браузер вместе с основной html-страницей, однако в браузере они не отображаются, как будто их нет. Содержание «скрытых» полей можно увидеть, если просмотреть HTML-код страницы. К примеру, чтобы сделать содержание какого-либо тэга скрытым, ему в параметр style надо добавить строчку display: none, то есть, если у нас есть фрагмент |