Клиентские сценарии. Модель событий. События окна



Объект Window поддерживает множество событий. К сожалению, многие из них являются не стандартными, а фирменными. Безопасными для использования с точки зрения совместимости браузеров являются onblur, onerror, onfocus, onload, onunloadn onresize. Они описаны в таблице.

Событие Описание
onblur Происходит при потере окном фокуса ввода
onerror Рудиментарное событие реакции на ошибку JavaScript
onfocus Происходит при получении окном фокуса ввода
onload Происходит при завершении загрузки документа в окно. Предупреждение: не всегда четко определено во времени
onresize Происходит при изменении размеров окна пользователем
onunload Происходит при выгрузке документа, например, в результате перехода по внешней ссылке или при закрытии окна


Обработчики событий объекта Window могут устанавливаться с помощью атрибутов событий HTML элемента , например, так:

<body onload="alert('вход в окно');" onunload="alert('выход из окна')">

или с помощью регистрации событий для объекта Window:

function sayHi() { alert('привет!'); }
function sayBye() { alert ('пока!') ; }
window.onload = sayHi;
window.onunload = sayBye;

Internet Explorer и Netscape добавили в объект Window множество своих событий. Наиболее полезные из них представлены в таблице.

Событие Описание
onafterprint Возникает после завершения печати содержимого окна
onbeforeprint Происходит непосредственно перед началом печати или предварительного просмотра содержимого окна
onbeforeunload Происходит непосредственно перед выгрузкой окна. Должно возникать перед событием onunload
ondragdrop Возникает, когда документ помещается в окно путем перетаскивания (только Netscape)
onhelp Возникает при нажатии клавиши вызова справки (обычно это F1)
onresizeend Возникает, когда заканчивается процесс изменения размеров окна (например, когда пользователь заканчивает перетаскивание углового маркера окна)
onresizestart Возникает, когда начинается процесс изменения размеров окна (например, когда пользователь начинает перетаскивание углового маркера окна)
onscroll Возникает, когда окно прокручивается в любом направлении

Клиентские сценарии. Модель событий. Таймеры

Для того чтобы уяснить внутренние аспекты работы таймеров, стоит учесть одну важную деталь, которую стоит осветить: задержка при выполнении таймера не гарантируется. Так как весь javascript исполняется в браузере в один поток, то асинхронные события (например, клики мышкой или таймеры) запускаются только по возникновению «окна» в этом основном потоке (обработчики событий и вызываемые функции, фактически, «встраиваются» в основной поток выполнения).

У javascript-движка операции выполняются в один поток, что заставляет асинхронные события ждать своей очереди на исполнение.

settimeout и setinterval имеют фундаментальные различия в исполнении асинхронного кода.

Если таймер не может выполниться в запланированное время, то он будет отложен до следующей возможной точки запуска (которая может быть достаточно далека от первоначального ожидаемого момента).

В случае выставления интервалов, функции могут запускаться друг за другом, безо всякой задержки, если их выполнение (или другие асинхронные события) «растянут» их на достаточное время (равное или большее, чем обозначенная задержка).

Два метода объекта window – setTimeout и setInterval – используются для управлением таймером. Метод setTimeout создает таймер, который выполняет указанные действия по истечении заданного числа миллисекунд. Например: function showtimeOut() { document.write(“Время вышло…”) } function timerDemo() //вызвать showtimeOut() через 5 секунд { window.setTimeout(“showtimeOut()”, 5000) } timerDemo() или { window.setInterval(“showtimeOut()”, 5000) }

Язык JavaScript. Обзор, объектная модель

Объектная модель определяет интерфейс доступа к различным частям браузера и документа, с которыми может работать JavaScript. В JavaScript используется множество объектных моделей, зависящих от типа браузера и его версии, но в общем можно выделить две главные объектные модели: ВОМ (Browser Object Model — объектная модель браузера) и DOM (Document Object Model — объектная модель документа). Модель ВОМ обеспечивает доступ к различным частям браузера, таким как окно браузера, характеристики экрана, журнал браузера и т.д. Модель DOM обеспечивает доступ к содержимому окна браузера, а именно, к документу, включающему различные элементы (X)HTML, свойства CSS и какие-то текстовые элементы.

Обзор объектной модели

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

Базовые элементы языка JavaScript (например, типы данных, операции и операторы).

Основные объекты, связанные с типами данных (например, Date, String или Math).

Объекты браузера (например, Window, Navigator или Location).

Объекты документа (например, Document, Form или Image).

Изучая историю JavaScript, можно найти некоторый порядок в хаосе конкурирующих объектных моделей. В JavaScript использовались следующие четыре объектные модели.

 

Традиционная объектная модель JavaScript (Netscape 2 и Internet Explorer 3).

Расширенная объектная модель JavaScript (Netscape 3) — основа модели DOM нулевого уровня.

Объектные модели в стиле динамического HTML:

1) Internet Explorer 4.x и более поздние версии;
2) Netscape 4.x (только эти версии).

Расширенная объектная модель браузера + стандартная модель DOM (современные браузеры).


Дата добавления: 2018-02-28; просмотров: 392; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!