Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы веб.docx
Скачиваний:
6
Добавлен:
01.05.2025
Размер:
353 Кб
Скачать
☆

19. Объект Document

Объект Document особенно важен при разработке сценариев.

Свойства объекта Document

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

title - текст заголовка документа (содержимое элемента title);

fgColor и bgColor - цвет текста и цвет фона документа;

linkColor, vLinkColor, aLinkColor - цвета непосещенных, посещенных и активных гиперссылок;

lastModified (только для чтения) - дата изменения документа;

referrer (только для чтения) - URL документа, ссылка в котором привела к загрузке текущего документа;

URL (и устаревшее location) - URL документа.

Более интересны и полезны для разработчика свойства-массивы объекта Document. Все они, естественно, имеют свойство length (количество элементов в массиве). Большинство свойств, специфичных для объектов, хранящихся в этих массивах, ассоциируются с атрибутами соответствующих элементов HTML. Вот лишь некоторые из них, понятные без объяснений любому, кто знает HTML:

объект Form имеет свойства name, action, method;

объект Anchor имеет единственное свойство name;

объект Link имеет свойства href, target;

объект Image имеет свойства src, width, height.

К объектам документа, хранящимся в массивах images, forms и applets, а также к элементам форм можно обращаться и по имени, если в начальном теге соответствующего элемента HTML задан атрибу name. Пусть, например, в документе описано изображение

<img src="images/cat.jpg" id="cat_id" name="cat_name">

и оно является n-ым изображением, встречающимся в документе. К этому элементу img можно обратиться по крайней мере следующими способами

Как к элементу массива images , используя его индекс (индексация начинается с 0):

window.document.images[n-1]

Как к элементу массива images , используя значение атрибута name как ключ массива:

window.document.images['cat_name']

Используя значение атрибута name как свойство объекта :

window.document.cat_name

Используя значение атрибута id и свойство getElementById:

window.document.getElementById('cat_id')

Методы объекта Document

open() - открывает новый документ; при этом для текущего документа все его содержимое удаляется.

close() - закрывает ранее открытый документ, фиксируя внесенные изменения.

clear() - очищает содержимое документа.

write() - записывает в документ заданную в качестве аргумента строку.

writeln() - аналогичен предыдущему, но выведенная в документ строка заканчивается символом перевода строки.

Методы write() и writeln() весьма полезны и часто используются для динамического формирования содержимого документа. Вот как, например, можно включить в документ дату его последнего изменения:

<script type="text/JavaScript"> window.document.write(document.lastModified); </script>

Обратите внимание на то, что метод write() для текущего документа может применяться только в сценарии, формирующем документ на стадии его загрузки (то есть он может присутствовать в элементах script, включенных в тело документа body). Любые попытки выполнить этот метод для текущего документа в обработчике некоторого события приведет к очистке содержимого документа. А вот в случае реализации фреймовой структуры или наличия в документе встроенных фреймов iframe, этот метод можно применить и в обработчике события для модификации содержимого документов дочерних фреймов. При этом метод write() добавляет контент в указанный фрейм, не обнуляя его содержимое. При этом к фрейму следует обращаться по данному ему имени.

Например, если в текущем документе определен некий встроенный фрейм с именем "child":

<iframe src="empty.htm" name="child"></iframe>

в него можно добавить новый контент, задав в обработчике некоторого события инструкцию:

child.document.write('... текст с соответствующими тегами ...')