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

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

Жанры

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].

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

Сильнейший ученик. Том 2

Ткачев Андрей Юрьевич
2. Пробуждение крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сильнейший ученик. Том 2

Ученик

Первухин Андрей Евгеньевич
1. Ученик
Фантастика:
фэнтези
6.20
рейтинг книги
Ученик

Сирийский рубеж

Дорин Михаил
5. Рубеж
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Сирийский рубеж

Товарищ "Чума" 4

lanpirot
4. Товарищ "Чума"
Фантастика:
городское фэнтези
альтернативная история
5.00
рейтинг книги
Товарищ Чума 4

Тринадцатый XII

NikL
12. Видящий смерть
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
7.00
рейтинг книги
Тринадцатый XII

Кодекс Охотника. Книга XXXVI

Винокуров Юрий
36. Кодекс Охотника
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Кодекс Охотника. Книга XXXVI

Зауряд-врач

Дроздов Анатолий Федорович
1. Зауряд-врач
Фантастика:
альтернативная история
8.64
рейтинг книги
Зауряд-врач

Искатель 1

Шиленко Сергей
1. Валинор
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Искатель 1

Повелители сумерек

Первушина Елена Владимировна
Фантастика:
фэнтези
ужасы и мистика
юмористическая фантастика
детективная фантастика
6.00
рейтинг книги
Повелители сумерек

Аристократ из прошлого тысячелетия

Еслер Андрей
3. Соприкосновение миров
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Аристократ из прошлого тысячелетия

Двойник короля 13

Скабер Артемий
13. Двойник Короля
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Двойник короля 13

Кодекс Охотника. Книга XXII

Винокуров Юрий
22. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Кодекс Охотника. Книга XXII

Бастард Императора. Том 6

Орлов Андрей Юрьевич
6. Бастард Императора
Фантастика:
городское фэнтези
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Бастард Императора. Том 6

География растений

Гумбольдт Александр
Классики естествознания
Научно-образовательная:
ботаника
7.50
рейтинг книги
География растений