ГЛАВА 13
Использование сценариев
В главе 12, когда говорилось об анимации на Web -страницах и способах ее создания, очень часто упоминались Web -сценарии. В этой главе мы их рассмотрим подробнее.
Как вы уже знаете, Web -сценарии позволяют преодолеть ограничение HTML , обусловленное его природой языка разметки страницы. Это ограничение заключается в том, что с помощью HTML можно описать только внешний вид данных, отображаемых на Web -странице, но никак не их поведение при наступлении того или иного события (о событиях и их обработке см. в главе 12). Говорят, что HTML — язык представления данных, но не описания способов их обработки.
А если вы хотите анимировать какой-либо элемент страницы, вам придется описать поведение этого элемента в виде алгоритма — последовательности операций, выполняемых компьютером. Этот алгоритм будет выполняться при наступлении особого внутреннего события — "тика" системного таймера. При каждом таком "тике" элемент будет сдвигаться на небольшое расстояние, а поскольку такие "тики" повторяются очень часто, человеческий глаз воспринимает скачкообразное движение как непрерывное. Вот вкратце основной принцип создания анимированных элементов.
Для описания алгоритмов, по которым будет двигаться анимированный элемент, используются Web -сценарии. Именно они реализуют вычисление координат анимированного элемента и его перемещение.
Конечно, в главе 12 для создания анимаций мы использовали Dreamweaver , который позволяет делать это, просто рисуя в окне документа траекторию движения нужного элемента. Однако основные принципы все те же. Web -сценарии, написанные особым образом, вызываются при каждом "тике" таймера и заставляют анимированный элемент "скакнуть" на очередную позицию.
Web -сценарии практически всегда пишутся на языке программирования JavaScript . Конечно, существуют и другие языки, но именно JavaScript завоевал широкую популярность. Этот язык начал полноценно поддерживаться Internet Explorer 4.0 и Navigator 3.0. Также ограниченная поддержка JavaScript была реализована в Internet Explorer 3.0. Ну, a Opera и поддерживают его с самого "рождения".
Для чего еще могут быть использованы Web -сценарии? О-о-о, много для чего. Давайте поговорим об этом, прежде чем приступим к изучению языка JavaScript .
Подробнее о Web - сценариях
Здесь будет рассказано о задачах, успешно решаемых с использований Web -сценариев. Далее будет дан краткий урок основ JavaScript , после ча мы с вами перейдем к рассмотрению стандартных сценариев, поддержив мых Dreamweaver . Автор не ставит цели сделать из вас знатоков JavaScript -в конце концов, эта книга совсем о другом. Если же вы хотите побольше узнать об этом языке, найдите другие книги, благо сейчас их издано очень много.
Итак, пора дать ответ на вопрос...
Зачем нужны Web - сценарии
Web -сценарии могут быть применены везде, где не может быть использоа "чистый" HTML , т. е. там, где элементы страницы должны вести себя так, как стандартом HTML не предусмотрено.
Возьмем ту же самую анимацию. За очень небольшим исключением (например, нестандартный тег < marquee >, поддерживаемый Internet Explorer ), элементы страницы не могут по ней двигаться. Если вам все же нужно, что бы они двигались, не обойтись без применения Web -сценариев. Зная язык JavaScript , вы с легкостью реализуете нужное поведение элементов, заставив те их летать с требуемой скоростью и по желаемой траектории. HTML такое не может.
Очень часто Web -сценарии используются для изменения содержимого страницы или даже для создания нового содержимого в ответ на действия пользователя. В частности, при наведении курсора мыши на гиперссылку рядом с ней может появляться краткое описание, либо изображение-гиперссылка может менять свой вид. (Кстати, такие "горячие" изображения, меняющиеся при наведении на них курсора мыши, мы уже создавали в главе 3 при помощи Dreamweaver . Такие "фокусы" реализуются также с помощью Web -сценариев.) Иногда содержимое Web -страницы корректируется сразу же в процессе ее загрузки Web -обозревателем, что достигается помещением в HTML -код сценариев, исполняющихся при загрузке.
Вообще, фантазия Web -дизайнера, решившего создать интерактивную Web -страницу с использованием Web -сценариев, почти ничем не ограничена. (Ограничения, конечно, существуют, но их очень мало, и касаются они, в основном, доступу к содержимому дисков клиентского компьютера.) В настоящее время существуют даже Web -страницы, содержимое которых может изменяться самим пользователем прямо в окне Web -обозревателя. (Другой вопрос: зачем это нужно?..) На страницах может отображаться, например, текущее время, причем, "часики" действительно будут "тикать". Также Web -сценарии часто используются для правильного размещения на странице свободно позиционируемых элементов. В частности, можно создать свободный элемент, который при любых изменениях размеров окна Web -обозревателя всегда будет находиться в его центре.
С помощью Web -сценариев можно создать принципиально новый интерфейс пользователя для своей страницы. На многих страницах применяется иерархический список, в котором перечислены все разделы и подразделы сайта. Такие страницы напоминают окно Проводника Windows . Часто с помощью свободно позиционируемых элементов и сложных Web -сценариев создают принципиально новые элементы управления для ввода данных, не снившихся даже самой великой и ужасной Windows . Но это уже — удел достаточно опытных программистов.
Ну и, конечно, Web -сценарии применяются для написания настоящих программ, использующих в качестве интерфейса Web -страницы. Известны, например, игры "15", "Лото", различные головоломки и викторины, созданные основе Web -сценариев и размещенные в Интернете. Часто таким же образом создаются и более серьезные программы, например, утилиты подбора цветов для Web -страниц или даже целые Web -редакторы, конечно, не очень сложные.
Вообще, создание таких вот Web -программ — достаточно новая область деятельности, еще даже толком не развившаяся, но довольно перспективная. В самом деле, такие программы очень просто распространять и сопровождать. Они не требуют создания разработчиком дистрибутивного пакета, иной раз весьма "увесистого", и распространения его каким-либо образом, а потенциальным пользователям не придется его подолгу 'загружать. Они не требуют установки на компьютере пользователя, а становятся доступны сразу после набора в окне Web -обозревателя нужного адреса. А при создании новой версии такой программы разработчику достаточно будет только обновить на своем сайте соответствующую Web -страничку.
Web -программы имеют только два недостатка. Вопервых, они доступны только после подключения к Интернету. (Хотя, конечно, их можно распространять на дискетах, CD , по электронной почте и другими путями.) Вовторых, из-за ограничений интерпретатора JavaScript с помощью таких программ невозможно сохранение документов на дисках клиентского компьютера.