Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #82, ОКТЯБРЬ 2005 г.

Сверлим чат 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]

gt;

top.addMessage('co', 'gt;gt;gt;INTELgt;gt;Анастасия БЕННИНГТОН, хайgt;gt;gt;');

top.addMessage('co', 'gt;gt;gt;Gosha89gt;gt;Привет ЕСТЬ тут девчонки из Питера?gt;gt;gt;');

top.addUser('6e6a4778-b513-4bb2-98f8-781f7f4aef07', 'D`Avol', false);

top.removeOldMessages(250);

//и т.д.

gt;

Описание вызываемых из work.aspx функций содержится в файле chat.js.

[о скрытых полях]

В стандарте HTML 4 есть такая интересная фишка, как таблицы стилей (CSS). Наверняка любой, кто сидел в интернете и пытался сам создавать web-странички, слышал о такой штуке. CSS имеет три версии, которые называются «уровнями» (levels), причем каждая, более старшая версия, является надмножеством предыдущих. С момента вступления в действие стандарта CSS Level 2 уже прошло достаточно много времени, поэтому на сегодняшний день именно он считается основным и поддерживается всеми современными браузерами. Среди огромного числа предоставляемых возможностей нас сегодня будет интересовать только одна: поддержка «скрытых» полей. Это блоки html-кода или сплошного текста, которые загружаются в браузер вместе с основной html-страницей, однако в браузере они не отображаются, как будто их нет. Содержание «скрытых» полей можно увидеть, если просмотреть HTML-код страницы.

К примеру, чтобы сделать содержание какого-либо тэга скрытым, ему в параметр style надо добавить строчку display: none, то есть, если у нас есть фрагмент gt;бла бла блаgt;, то, чтобы сделать его скрытым, надо написать gt;бла бла блаgt;. Помимо того, что скрывать поле можно присвоением соответствующего значения параметру style, на видимость элемента можно влиять и динамически из javascript. Обращаясь к какому-либо идентифицированному элементу web-страницы (у которого есть параметр id), в Internet Explorer можно использовать свойство display объекта style. Чтобы было проще разобраться, приведу простой пример:

Назад на стр. 082-076-1  Содержание  Вперед на стр. 082-076-3