- •14. Динамический html и Объектная Модель Документа
- •Программный доступ к элементам
- •Объект window
- •Объект navigator
- •Объект location
- •Объект history
- •Объект screen
- •Коллекция frames
- •Некоторые методы объекта window
- •Объект document
- •Коллекция forms
- •Свойство cookie
- •Поиск элемента по id
- •Поиск групп элементов
- •Программное создание, удаление и модификация html-элементов
- •Вопросы
Объект document
Объект window содержит единственный объект document – HTML-документ. По разнообразию свойств и методов объект document не уступает объекту window. Именно через объект document осуществляется доступ к содержимому HTML-документа. Вот некоторые свойства и методы объекта document.
Объект body
Объект body представляет собой HTML-элемент body. Это специальный случай, поскольку элемент body в документе единственный. Для обращения к остальным элементам документа могут использоваться стандартные методы объекта document.
Коллекция all
Коллекция all поддерживается только Internet Explorer и содержит все элементы HTML-документа.
Коллекция anchors
Коллекция anchors содержит все гиперссылки (объекты a), которые имеют атрибуты name или id. Эта коллекция полезна при создании списка гиперссылок.
Массив images
Массив document.images содержит все изображения (элементы img), загруженные вместе с документом. Каждое изображение загружается на страницу отдельным файлом, и в случае динамической замены одного изображения другим может потребоваться время для загрузки нового файла. Чтобы избежать этого, можно заранее загрузить изображения, которые будут храниться в кэше браузера, откуда они доступны немедленно.
...
<img src="myImg.jpg" onmouseover="this.src='myImg_over.jpg'">
...
<script type="text/javascript">
function ImagePreload() {
var img = new Image();
img.src = 'myImg_over.jpg';
}
window.onload = ImagePreload;
</script>
...
Коллекция forms
Коллекция forms содержит все HTML-формы, определенные в документе. Доступ к каждому из объектов form возможен по индексу или по имени (если элемент form имеет атрибут name, не являющийся стандартным).
Свойство cookie
Cookie (буквально, печенье) – это небольшие фрагменты информации, хранимые браузером. Каждая cookie представляет собой пару имя=значение. Cookie может хранить до 20 таких пар. Cookie являются механизмом хранения пользовательских настроек и поддержания диалога между веб-сервером и браузером. веб-сервер может отправлять браузеру инструкцию SetCookie с парами имя=значение, и браузер возвращает эту же пару серверу (только тому, который установил cookie) при каждом запросе, что позволяет серверу установить, с кем (чем) ведется диалог. Cookie имеют время жизни. Если параметр expires (истечение срока) не задан или установлен на дату в прошлом, то cookie не сохраняются на диске локального компьютера и уничтожаются при закрытии браузера. Если параметр expires установлен на дату в будущем, то cookie сохраняются на диске в виде текстового файла и автоматически удаляются по истечении срока годности.
Cookie могут также читаться и создаваться в браузере при помощи языков сценариев. Свойство document.cookie представляет собой строку, содержащую пары имя=значение, разделенные точкой с запятой и пробелом ("; "). Таким образом, для получения отдельных значений требуется разбор строки.
<script>
// Создает куки с определенными именем и значением.
// срок действия установлен до конца XXI века.
function SetCookie(sName, sValue) {
document.cookie = sName + "=" + escape(sValue)
+ "; expires=Fri, 31 Dec 2099 23:59:59 GMT;";
}
// Возвращает значение куки по его имени.
function GetCookie(sName) {
// пары разделены "; "
// метод split расщепляет строку на массив строк
var aCookie = document.cookie.split("; ");
for (var i = 0; i < aCookie.length; i++) {
// теперь следует расщепить каждую пару имя=значение
var aCrumb = aCookie[i].split("=");
if (sName == aCrumb[0])
return unescape(aCrumb[1]);
}
// Куки с запрошенным именем не существует
return null;
}
// Удаляет куки с заданным именем.
function DelCookie(sName) {
document.cookie = sName + "=; expires=Fri, 21 Dec 1976 04:31:24 GMT;";
}
</script>
