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

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

Жанры

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

Спецификация «Server-Sent Events» появилась совсем недавно и на момент написания этих строк поддерживалась не во всех броузерах.

Конструктор

new EventSource(string url)

Создает новый объект

EventSource
, подключенный к веб-серверу, определяемому аргументом url. Адрес url интерпретируется относительно URL-адреса документа.

Константы

Следующие константы определяют допустимые значения свойства

readyState
.

unsigned short CONNECTING = 0

Идет

установка соединения, или соединение было закрыто и объект
EventSource
пытается восстановить его.

unsigned short OPEN = 1

Соединение установлено и готово к приему событий.

unsigned short CLOSED = 2

Соединение было закрыто либо вызовом метода

close,
либо в результате фатальной ошибки, не позволяющей восстановить его.

Свойства

readonly unsigned short readyState

Состояние соединения. Возможные значения определяются константами, перечисленными выше.

readonly string url

Абсолютный URL-адрес, к которому подключен объект

EventSource
.

Методы

void close

Закрывает соединение. После вызова этого метода объект

EventSource
не может больше использоваться. Если потребуется вновь установить соединение, следует создать новый объект
EventSource
.

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

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

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

onerгог
Вызывается при обнаружении ошибки. Обработчику передается простой объект
Event
.

onmessage
Вызывается при получении сообщения от сервера. Обработчику передается объект события
MessageEvent
, а текст, отправленный сервером, доступен через свойство
data
этого объекта.

оnореп
Вызывается при открытии соединения. Обработчику передается простой объект
Event
.

EventTarget

объект, способный принимать события

Объекты, для которых генерируются события, и объекты, которые находятся на пути всплывающих событий, должны предоставлять возможность определять обработчики этих событий. Такие объекты обычно определяют свойства обработчиков событий, имена которых начинаются с префикса «оn» и, как правило, определяют методы, описываемые ниже. Регистрация обработчиков событий - поразительно сложная

тема. За подробностями обращайтесь к разделу 17.2 и обратите внимание, что ІE версии 8 и ниже использует другие методы, чем все остальные броузеры; эти методы будут описаны в специальном разделе ниже.

Методы

void addEventListener(string type,function listener,[boolean useCapture])

Регистрирует функцию

listener
в качестве обработчика событий типа type. Аргумент type– строка с именем без префикса «оn». Аргумент useCapture должен иметь значение true, если регистрируется перехватывающий обработчик (раздел 17.2.3) в предке элемента, являющегося истинной целью события. Обратите внимание, что некоторые броузеры все еще требуют передачи этой функции третьего аргумента, поэтому при регистрации обычного, неперехватывающего, обработчика в третьем аргументе следует передавать false,

boolean dispatchEvent(Event event)

Отправляет данному элементу искусственное событие event. Чтобы отправить событие, необходимо создать новый объект

Event
вызовом метода
document.createEvent
с именем события (таким как «Events», в случае простого события). Затем инициализировать его методом инициализации созданного объекта
Event
: для простых событий - вызовом метода
initEvent
(см.
Event
). После этого отправить инициализированное событие, передав его рассматриваемому методу. В современных броузерах каждый объект
Event
имеет свойство
isTrusted
. Для искуственных событий, посылаемых программно, это свойство будет иметь значение false. Различные типы объектов событий определяют собственные методы инициализации. Эти методы редко используются на практике, имеют длинные списки аргументов и не описываются в этой книге. Если вам потребуется создать, инициализировать и послать искуственное событие, более сложное, чем простой объект
Event
, поищите описание соответствующего метода инициализации в электронной документации.

void removeEventListener(string type, function listener, [boolean useCapture])

Удаляет зарегистрированный обработчик

listener
события. Принимает те же аргументы, что и метод
addEventListener.

Методы Internet Explorer

IE версии 8 и ниже не поддерживает методы

addEventListener
и
removeEventListener.
Вместо них он реализует два более простых метода, которые описываются ниже. (Некоторые важные отличия перечислены в разделе 17.2.4.)

void attachEvent(string type, function listener)

Регистрирует функцию

listener
как обработчик событий типа type. Обратите внимание, что этот метод требует, чтобы имя в аргументе type включало префикс «оn».

void detachEvent(string type, function listener)

Этот метод действует как обратный методу

attachEvent.

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

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

INDIGO
Вселенная EVE Online
Фантастика:
космическая фантастика
5.00
рейтинг книги
На границе империй. Том 10. Часть 2

Глава рода

Шелег Дмитрий Витальевич
5. Живой лёд
Фантастика:
боевая фантастика
6.55
рейтинг книги
Глава рода

Дворянин

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

Хозяин Теней

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

Матабар

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

Наномашины, Кошмар Академии! Том 10

Новиков Николай Васильевич
10. Первый среди карапузов
Фантастика:
аниме
попаданцы
5.00
рейтинг книги
Наномашины, Кошмар Академии! Том 10

Гримуар темного лорда VIII

Грехов Тимофей
8. Гримуар темного лорда
Фантастика:
боевая фантастика
альтернативная история
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Гримуар темного лорда VIII

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

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

Локки 7. Потомок бога

Решетов Евгений Валерьевич
7. Локки
Фантастика:
аниме
эпическая фантастика
фэнтези
5.00
рейтинг книги
Локки 7. Потомок бога

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

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

Седина в бороду, Босс… вразнос!

Трофимова Любовь
Юмор:
юмористическая проза
5.00
рейтинг книги
Седина в бороду, Босс… вразнос!

Орленев

Мацкин Александр Петрович
Жизнь в искусстве
Документальная литература:
биографии и мемуары
5.00
рейтинг книги
Орленев

Черная метка

Лисина Александра
7. Гибрид
Фантастика:
технофэнтези
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Черная метка

Хозяин Стужи 2

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