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

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

Жанры

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

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

Первый среди равных. Книга XII

Бор Жорж
12. Первый среди Равных
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Первый среди равных. Книга XII

Матабар IV

Клеванский Кирилл Сергеевич
4. Матабар
Фантастика:
фэнтези
5.00
рейтинг книги
Матабар IV

Дворянин

Злотников Роман Валерьевич
2. Император и трубочист
Фантастика:
боевая фантастика
альтернативная история
5.00
рейтинг книги
Дворянин

Неучтенный элемент. Том 11

NikL
11. Антимаг. Вне системы
Фантастика:
фэнтези
5.00
рейтинг книги
Неучтенный элемент. Том 11

Страж Кодекса. Книга V

Романов Илья Николаевич
5. КО: Страж Кодекса
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Страж Кодекса. Книга V

1941, Великая Отечественная катастрофа: Итоги дискуссии

Коллектив авторов
Документальная литература:
военная документалистика
6.25
рейтинг книги
1941, Великая Отечественная катастрофа: Итоги дискуссии

Отморозок 3

Поповский Андрей Владимирович
3. Отморозок
Фантастика:
попаданцы
5.00
рейтинг книги
Отморозок 3

Наследие Маозари 8

Панежин Евгений
8. Наследие Маозари
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
постапокалипсис
рпг
фэнтези
эпическая фантастика
5.00
рейтинг книги
Наследие Маозари 8

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

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

Тринадцатый

Северский Андрей
Фантастика:
фэнтези
рпг
7.12
рейтинг книги
Тринадцатый

Московское золото и нежная попа комсомолки. Часть Пятая

Хренов Алексей
5. Летчик Леха
Фантастика:
попаданцы
5.00
рейтинг книги
Московское золото и нежная попа комсомолки. Часть Пятая

Последний реанорец. Том IV

Павлов Вел
3. Высшая Речь
Фантастика:
фэнтези
5.20
рейтинг книги
Последний реанорец. Том IV

Законы Рода. Том 8

Мельник Андрей
8. Граф Берестьев
Фантастика:
юмористическое фэнтези
аниме
фэнтези
5.00
рейтинг книги
Законы Рода. Том 8

Адвокат империи

Карелин Сергей Витальевич
1. Адвокат империи
Фантастика:
городское фэнтези
попаданцы
фэнтези
5.75
рейтинг книги
Адвокат империи