Чтение онлайн

на главную - закладки

Жанры

JavaScript. Подробное руководство, 6-е издание
Шрифт:

Обработчики событий

Сетевые взаимодействия по своей природе являются асинхронными, и, подобно объекту

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

onclose

Событие «close» генерируется после закрытия соединения (и свойство

readyState
получит значение CLOSED). Обработчику события передается объект
CloseEvent
, который определяет, было соединение закрыто без ошибок или нет.

onerror

Событие «error» генерируется, когда возникает сетевая ошибка или ошибка протокола веб-сокетов. Обработчику события передается обычный объект

Event

onmessage

Когда сервер отправляет данные через веб-сокет, объект

WebSocket
возбуждает событие «message» и передает обработчику объект
MessageEvent
, свойство
data
которого ссылается на принятое сообщение.

onopen

Конструктор

WebSocket
возвращает управление еще до того, как будет установлено соединение с адресом url. Когда процедура установления соединения завершится и объект
WebSocket
будет готов к отправке и приему данных, будет возбуждено событие «open». Обработчику события передается обычный объект
Event
.

Window

окно, вкладка или фрейм веб-броузера (EventTarget)

Объект

Window
представляет окно, вкладку или фрейм в броузере. Он подробно описан в главе 14. В клиентском JavaScript-коде объект
Window
выступает в качестве «глобального» объекта, и все выражения вычисляются в контексте текущего объекта
Window
. Это значит, что для обращения к текущему окну не требуется использовать специальный синтаксис и свойства этого объекта можно использовать, как если бы они были глобальными переменными. Например, вместо
window.document
можно писать
Document
. Аналогично можно вызывать методы текущего объекта окна, как если бы они были функциями, например
alert
вместо
window.alert.

Некоторые свойства и методы этого объекта фактически позволяют определять и изменять некоторые параметры окна броузера. Другие включены в этот объект просто потому, что он является глобальным объектом. Помимо перечисленных здесь свойств и методов объект

Window
реализует все глобальные функции, определяемые базовым языком JavaScript. Подробности см. в справочной статье Global в третьей части книги. Веб-броузеры возбуждают в окнах множество различных событий. Это означает, что объект
Window
определяет массу обработчиков событий и что объекты
Window
реализуют методы интерфейса
EventTarget
.

В объекте

Window
имеются свойства
window
и
self
, которые ссылаются на само окно. Они позволяют явно задать ссылку на окно.

Объект

Window
может содержать другие объекты
Window
, обычно в виде тегов
<iframe>
. Каждый объект
Window
является объектом, подобным массиву, содержащим вложенные объекты
Window
. Однако вместо непосредственного индексирования объекта
Window
на практике обычно используется свойство frames, ссылающееся на сам объект, как если бы это был объект, подобный массиву. Свойства
parent
и
top
объекта
Window
ссылаются непосредственно на родительское окно и на окно верхнего уровня.

Новые окна верхнего уровня создаются вызовом метода

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

Свойства

В дополнение к свойствам, перечисленным ниже, содержимое документа, отображаемого в окне, создает новые свойства. Как описывается в разделе 14.7, на элемент документа можно сослаться, использовав значение его атрибута

id
в качестве имени свойства окна (а поскольку его окно является глобальным объектом, его свойства являются глобальными переменными).

readonly ApplicationCache applicationCache

Ссылка на объект

ApplicationCache
. Кэшируемые и автономные веб-приложения могут использовать это свойство для управления обновлением своего кэша.

readonly any dialogArguments

В объектах

Window
, созданных методом
showModalDialog,
это свойство хранит значение аргумента
arguments
, переданного методу
ShowModalDialog.
В обычных объектах
Window
это свойство отсутствует. Подробнее см. в разделе 14.5.

readonly Document document

Ссылка на объект

Document
, который описывает документ, содержащийся в этом окне (подробности см. в справочной статье Document).

readonly Event event [только в IE]

В Internet Explorer это свойство ссылается на объект

Event
, содержащий сведения о самом последнем произошедшем в окне событии. В IE версии 8 и ниже объект события не всегда передается обработчикам событий, и поэтому иногда его приходится извлекать из этого свойства. Дополнительные сведения приводятся в главе 17.

readonly Element frameElement

Если данный объект

Window
находится внутри элемента
<iframe>
, это свойство будет ссылаться на представляющий его объект
IFrame
. В окнах верхнего уровня это свойство имеет значение null.

readonly Window frames

Подобно свойствам

self
и
window
, это свойство ссылается на сам объект
Window
. Все объекты
Window
являются объектами, подобными массивам, содержащими фреймы, имеющиеся в данном окне. Вместо ссылки w[0] на первый фрейм в окне w это свойство позволяет использовать более очевидную форму записи w.frames[0].

Поделиться:
Популярные книги

Камень. Книга пятая

Минин Станислав
5. Камень
Фантастика:
боевая фантастика
6.43
рейтинг книги
Камень. Книга пятая

Печать Пожирателя 3

Соломенный Илья
3. Пожиратель
Фантастика:
городское фэнтези
аниме
сказочная фантастика
фэнтези
попаданцы
5.00
рейтинг книги
Печать Пожирателя 3

Чужое наследие

Кораблев Родион
3. Другая сторона
Фантастика:
боевая фантастика
8.47
рейтинг книги
Чужое наследие

Рождественский детектив (сборник рассказов)

Полякова Татьяна Викторовна
Детективы:
прочие детективы
6.00
рейтинг книги
Рождественский детектив (сборник рассказов)

И в аду есть герои

Панов Вадим Юрьевич
5. Тайный Город
Фантастика:
боевая фантастика
9.19
рейтинг книги
И в аду есть герои

Путь к бессмертию 2

Покинтелица Евгений
2. Девятихвостый Богатырь
Фантастика:
попаданцы
сказочная фантастика
фэнтези
5.00
рейтинг книги
Путь к бессмертию 2

Меняя маски

Метельский Николай Александрович
1. Унесенный ветром
Фантастика:
боевая фантастика
попаданцы
9.22
рейтинг книги
Меняя маски

Лишённые плоти

Макдермид Вэл
6. Тони Хилл и Кэрол Джордан
Детективы:
маньяки
7.71
рейтинг книги
Лишённые плоти

Морской лорд. Том 1

Чернобровкин Александр Васильевич
2. Вечный капитан
Фантастика:
попаданцы
историческое фэнтези
8.12
рейтинг книги
Морской лорд. Том 1

Законник Российской Империи

Ткачев Андрей Юрьевич
1. Словом и делом
Фантастика:
городское фэнтези
альтернативная история
аниме
5.00
рейтинг книги
Законник Российской Империи

Черный маг императора 2

Герда Александр
2. Черный маг императора
Фантастика:
юмористическая фантастика
попаданцы
аниме
6.00
рейтинг книги
Черный маг императора 2

Хозяин Стужи

Петров Максим Николаевич
1. Злой Лед
Фантастика:
аниме
фэнтези
попаданцы
7.00
рейтинг книги
Хозяин Стужи

Вечный. Книга VI

Рокотов Алексей
6. Вечный
Фантастика:
рпг
фэнтези
5.00
рейтинг книги
Вечный. Книга VI

На границе империй. Том 9. Часть 4

INDIGO
17. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 9. Часть 4