Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

JavaScript для начинающих. Изучаем с нуля. выпуск восемнадцатый


Информационный Канал Subscribe.Ru

Рассылка для всех, кто желает освоить JavaScript

JavaScript для начинающих

Выпуск #18
Письмо автору
Хостинг от 1.2$ в месяц
Скрипты для web-мастера HTML для чайников

Объектная модель документа

Преимущество JavaScript, даже по сравнению со сложнымы языками программирования, состоит в том, что он позволяет управлять браузером. Сценарий позволяет загрузить в окне браузера новую вэб-страницу, управлять внешним ее видом и преобразовывать документ, а также запускать новые окна браузера.

Для того, чтобы справиться со всеми этими операциями, в JavaScript включена специальная иерархическая структура - объектная модель документа (DOM). В соответствии с ней все объекты сценария организованы в древовидную структуру, отвечающую за все без исключения элементы вэб-страницы: окно, документ, рисунок и т.п.

Объекты DOM, как и другие объекты, имеют свойства, описывающие вэб-страницу, и методы, позволяющие управлять частью документа.

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

window.document.image7

Объект window находится на самой верхушке иерархической структуры.

История DOM

Начиная с версии 1.1 (реализованной в Netscape Navigator 2.0), в JavaScript включены объекты браузера, позволяющие управлять частью документа HTML и элементами браузера. Но на то время объекты браузера еще не стали стандартом. Хотя NN и IE уже использовали эту модель, не существовало гарантий, что новый объект будет в них поддерживаться стопроцентно. К тому же одни и те же объекты выполнялись в этих двух браузерах по-разному.

В настоящее время также существует разница в объектных моделях браузеров Netscape и Microsoft. Но, с момента выпуска NN 3.0 и IE 4.0 все основные объекты поддерживаются обоими браузерами и выполняются одинаково.

Совсем недавно консорциум W3C (World Wide Web Consortium - Консорциум по стандартизации Web) разработал стандарт DOM. В этот стандарт включены не только базовые объекты, но и объекты управления частями документа HTML, а также объекты, поддерживаемые в XML.

Стандарт DOM частично поддерживается как в NN, так и в IE. Максимально усовершенствованы для поддержки нового стандарта - NN 6.0 и IE 5.0 и выше.

Объекты Window

Иерархическая структура объектов браузера начинается с объекта window. Он представляет окно браузера. Вы уже знакомы с этим объектом.

Свойство window.status используется для изменения вида строки состояния.

Методы window.alert, window.confirm и window.prompt позволяют отображать диалоговые окна с разными запросами.

Одновременно можно использовать несколько объектов window, каждый для открытого окна браузера. Фреймы также представляются объектами window. Детально об окнах и фреймах позже.

Управление web-документами

Объект document представляет объект web-документа или web-страницы. Документы или страницы отображаются в окне обраузера, поэтому не удивительно, что объект document дочерний по отношению к объекту window. Изменения, проведенные с помощью объекта document, будут отображаться в окне браузера, а поэтому сказываются на объекте window.

Для отображения текста на вэб-странице используется метод document.write. Примеры сценариев, рассмотренные нами ранее, рассчитаны на запуск только одного окна браузера, поэтому в них не было необходимости вводить имя родительского объекта window.document.write. В многооконной среде использовать длинную запись метода просто необходимо.

Получение информации о браузере

Некоторые свойства объекта document используются для получения сведений о браузере и текущем документе.

Свойство URL используется для определения адреса текущей web-страницы. Адрес вводится одним словом. Изменить это свойство нельзя. Если необходимо открыть в окне браузера другую страницу, используйте объект window.location.

Свойство title содержит заголовок текущей страницы, определенный после дескриптора <TITLE>.

Свойство referrer определяет адрес вэб-страницы, просматриваемой до отображения текущего вэб-документа. Как правило, на ней есть ссылка на текущую страницу.

Свойство lastModified содержит дату последнего изменения вэб-страницы. Эта дата сохраняется на сервере и присылается при отображении вэб-страницы в браузере.

В приведенном ниже примере продемонстрирован документ HTML, в котором отображается дата последнего его изменения.

Листинг 18.1. Отображение даты последнего изменения документа


1:    <HTML><HEAD><TITLE>Тестирование документа</TITLE></HEAD>
2:    <BODY>
3:    Эта страница последний раз была изменена:
4:    <SCRIPT LANGUAGE="JavaScript">
5:    document.write(document.lastModified);
6:    </SCRIPT>
7:    </BODY>
8:    </HTML>

В некоторых случаях свойство lastModified не выполняется в вэб-страницах. Даты последнего изменения сохранены на сервере, а некоторые сервера не сохраняют дату изменения страницы.

Добавление в документ текста

Простейший метод объекта document - это тот, который используется чаще других. Фактически вы его уже многократно использовали. Метод document.write отображает текст в окне браузера. Этот оператор используется тогда, когда необходимо добавить результат выполнения операций на вэб-страницу.

Подобный ему метод document.writeln также позволяет отобразить в окне браузера текст и содержит в конце строки оператор /n. Этот оператор указывает на то, что в этой строке больше ничего отображаться не будет. Поэтому метод document.writeln используется в тех случаях, когда необходимо в одной строке вывести только результат.

Эти методы используются только в теле вэб-страницы и выполняются при ее загрузке. Вы не можете добавить результат в уже загруженную страницу без ее перезагрузки. О том, как вставить в документ новые данные, дальше.

Метод document.write используется только в в сценарии, размещенном в теле документа. Его можно исопользовать и в функции, вызов которой обязательно осуществляется в теле документа HTML.


Вопросы для самоконтроля

1. Какой из объектов является самым главным в структуре DOM?

Document
Window
Main

2. Что делает метод document.writeln?

Записывает дату последнего изменения документа в кэш второго уровня
Отображает текст на вэб-странице
Отображает текст на вэб-странице и переводит курсор на следующую строку

3. Что такое DOM?

Аббревиатура, сокр. - Объектная Модель Документа
Реалити шоу на телеканале ТНТ
Здание

(Если в почтовой программе кнопка не срабатывает, сохраните страницу на диск и откройте в браузере.)


Продолжим в следующем выпуске рассылки.

Оставайтесь с нами. До встречи!


Приглашаю всех в бизнес (очень интересное и выгодное дело)

Письмо автору
Хостинг от 1.2$ в месяц
Скрипты для web-мастера HTML для чайников

© NBUSINESS.RU


Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: inet.webbuild.javascripts
Отписаться
Вспомнить пароль

В избранное