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

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

Жанры

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

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

Эпоха Опустошителя. Том I

Павлов Вел
1. Вечное Ристалище
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Эпоха Опустошителя. Том I

Проблема майора Багирова

Майер Кристина
1. Спецназ
Любовные романы:
современные любовные романы
6.60
рейтинг книги
Проблема майора Багирова

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

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

Газлайтер. Том 15

Володин Григорий Григорьевич
15. История Телепата
Фантастика:
боевая фантастика
попаданцы
5.00
рейтинг книги
Газлайтер. Том 15

О, Путник!

Арбеков Александр Анатольевич
1. Квинтет. Миры
Фантастика:
социально-философская фантастика
5.00
рейтинг книги
О, Путник!

Прометей: каменный век

Рави Ивар
1. Прометей
Фантастика:
альтернативная история
6.82
рейтинг книги
Прометей: каменный век

Её (мой) ребенок

Рам Янка
Любовные романы:
современные любовные романы
6.91
рейтинг книги
Её (мой) ребенок

Идеальный мир для Лекаря 8

Сапфир Олег
8. Лекарь
Фантастика:
юмористическое фэнтези
аниме
7.00
рейтинг книги
Идеальный мир для Лекаря 8

Прометей: каменный век II

Рави Ивар
2. Прометей
Фантастика:
альтернативная история
7.40
рейтинг книги
Прометей: каменный век II

Цвет сверхдержавы - красный. Трилогия

Симонов Сергей
Цвет сверхдержавы - красный
Фантастика:
попаданцы
альтернативная история
8.06
рейтинг книги
Цвет сверхдержавы - красный. Трилогия

Болтливый мертвец

Фрай Макс
7. Лабиринты Ехо
Фантастика:
фэнтези
9.41
рейтинг книги
Болтливый мертвец

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

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

Истребители. Трилогия

Поселягин Владимир Геннадьевич
Фантастика:
альтернативная история
7.30
рейтинг книги
Истребители. Трилогия

Лишняя дочь

Nata Zzika
Любовные романы:
любовно-фантастические романы
8.22
рейтинг книги
Лишняя дочь