Эти
возможности определяются не столько совместимостью агента пользователя
с конкретной версией языка, сколько особенностями реализованной в
браузере объектной модели.
Обратимся ненадолго к истории. Так, например, и Netscape 4, и IE4
поддерживают JavaScript 1.2, однако объектные модели этих двух браузеров
разнятся, словно день и ночь.
В сущности, объектная модель браузера Netscape 4 обеспечивает доступ к
весьма и весьма ограниченному кругу элементов HTML-документа, позволяя
модифицировать лишь малую часть их атрибутов и обрабатывать довольно
скудный набор событий, связанных с объектами веб-страницы.
Объектная модель же, впервые реализованная в IE4, шагнула далеко вперед.
Она обеспечила доступ ко всем элементам HTML, позволив сценариям
изменять содержимое этих элементов и значения всех присущих им атрибутов.
Это, в свою очередь, открыло возможность динамически в режиме реального
времени (под влиянием тех или иных событий, связанных, например, с
действиями пользователя— об этом более подробно мы будем говорить далее)
перекраивать веб-страницы практически полностью, подвергая модификации
как содержание и структуру, так и оформление документов.
Помимо прочего, объектная модель, воплощенная в IE4, существует отдельно
от базовых функций J Script, предоставляя возможность взаимодействия с
собою другим языкам сценариев, поддерживаемым браузером Internet
Explorer— в частности, VBScript (скриптовый язык, основанный на
синтаксисе языка программирования Visual Basic). Netscape 4, напротив, реализует
морально устаревшую на сегодня интегрированную модель, в которой
базовые функции JavaScript неразрывно связаны с предлагаемой этим браузером
инфраструктурой объектов.
С чего бы это мы столь подробно стали вдруг обсуждать особенности версий
браузеров, практически ушедших в небытие?.. Дело в том, что все это дает
нам возможность проследить историю возникновения технологии, широко
известной ныне под названием DHTML (Dynamic HTML).
324 Часть II. Применение веб-технологий стороны клиента для создания сайтов
Прежде, чем раскрыть это понятие, хотелось бы заметить следующее.
Каждую из объектных моделей, предоставляемых браузерами, можно
подразделить на две части: одна из них дает сценариям возможность управления
объектами (диалоги, окна, статусная строка и т. д.) интерфейса браузера, а другая
обеспечивает доступ скриптов к элементам документов.
Так вот, именно объектная модель документа, реализованная в IE4, является
более совершенной, чем аналогичная модель Netscape 4. Эта инициатива
Microsoft впоследствии легла в основу официальной рекомендации W3C —
DOM (Document Object Model, объектная модель документов) level 1,
принятой в 1998 г. Позднее в качестве рекомендаций W3C были утверждены
существенно более расширенные версии спецификации DOM — DOM level 2 (или
просто DOM2, 2000—2003 гг.) и DOM level 3 (DOM3, 2004 г.).
Согласно рекомендациям W3C, DOM — это независимый от платформы и от
какого бы то ни было конкретного языка интерфейс, позволяющий
разнообразным программам и сценариям получать доступ к содержанию, структуре и
представлению документов с возможностью динамически модифицировать
все эти три составляющие.
В отличие от прототипа— объектной модели документа, реализованной в
IE4, спецификации DOM, принятые Консорциумом W3C, распространяются
не только на HTML-документы, но и вообще на любые XML-документы,
рассматривая модель документа HTML как частный случай.
В основе DOM лежит понимание XML-документа как дерева объектов с
изменяемыми свойствами. Так, например, для классической веб-страницы
корнем такого дерева будет выступать объект, соответствующий элементу
…
.Он называется родительским для объектов, соответствующих элементам
.. . и .. ., а те, в свою очередь, являютсядочерними по отношению к нему. Все элементы дерева за исключением корневого
являются потомками корня, а сам корень, в свою очередь, называется их
предком.
5th Фев 2011
|
Теги:
|