В рубрике: Прочее.

Объектная модель браузера (BOM)


Объявления:

Предыдущие несколько уроков были посвящены изучению ядра JavaScript. Вы научились работать с данными различных типов (в том числе и объектных), реализовывать принятие решений в коде и создавать циклические алгоритмы. Однако, JavaScript интересен не сам по себе, а как средство управления браузером. Научившись этому, вы сможете создавать более эффективные и универсальные web-страницы.

С точки зрения JavaScript браузер представляет собой набор объектов, объединенных в иерархическую структуру. Именно эта иерархия объектов, доступная для использования в сценариях, и называется Объектной Моделью Браузера — Browser Object Model или просто BOM. BOM имеет довольно сложную и разветвленную структуру, и насчитывает несколько десятков типов объектов (все зависит от типа и версии браузера). Поэтому, целью данного и нескольких последующих уроков, является знакомство с общей структурой BOM и изучение основных объектов этой модели.

Сценарии, не зависящие от браузера

Как упоминалось выше, набор объектов и их свойств сильно зависит от типа и версии браузера. Одни объекты доступны не во всех браузерах, а другие обладают разными свойствами и методами в разных браузерах. Эта «обратная сторона медали» и является основной причиной «головной боли» многих web-разработчиков.

Однако, в этом и кроется парадокс: по наличию или отсутствию того или иного элемента объектной модели можно достаточно точно судить о типе и версии используемого браузера. Например, браузер MS Internet Explorer (IE) обладает коллекцией document.all, содержащей все элементы страницы, в то время, как браузер Netscape Navigatior (NN) этой коллекции не содержит. В то же время, браузер NN обладает уникальной для него коллекцией document.layers, которая отсутствует в других браузерах. В связи с этим можно написать следующий сценарий, определяющий тип браузера, с которым работает пользователь:

var isIE=false, isNN=false; // признаки типа браузера  // получение информации о браузере  if (document.all) // проверка на IE  isIE = true; else if (document.layers) // проверка на NN  isIE = true; else isIE = false; … // использование полученной информации о браузере  if (isIE) { // код для MS IE } else if (isNN){ // код для NN } else { // код для других браузеров }

К вопросу определения типа и версии браузера мы еще вернемся в нашем уроке. А сейчас вашему вниманию предлагается на рассмотрение объектная модель браузера Microsoft Internet Explorer 5.

Объектная модель браузера Microsoft Internet Explorer 5

Ниже приводится графическое представление объектной модели браузера Microsoft Internet Explorer 5.

Объектная модель браузера (BOM)

Некоторые объекты этой модели, такие как, document или event нам уже в той или иной степени знакомы. В данном уроке мы освоим новые объекты и свяжем их в единое целое.

Рассмотрим основные элементы объектной модели и их назначение.

Табл.1

Основные элементы BOM MSIE 5 объект Пояснение

window Глобальный объект, связанный с окном браузера или с фреймом (кадром), в который загружен документ.

document Представляет собой непосредственно страницу.

location Позволяет получать различную информацию об адресе, с которого загружена страница.

history Ведет хронологию (историю) посещения страниц. Позволяет перемещаться по ним в любом направлении (назад или вперед).

navigator Содержит различную информацию о браузере и окружении клиента (тип и номер версии браузера, операционная система и пр.)

screen Позволяет получать информацию графической подсистеме клиента (разрешение, глубина цвета и т.п.)

В следующие уроки мы подробно рассмотрим объекты navigator, screen, location и history. Объекты window и document и их коллекции рассматриваются в одном из последующих занятий.

Предложения:

Leave a Reply

Rambler's Top100