EventSource: событие message
Базовая Широко доступна
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузера. Она доступна в браузерах с января 2020 года.
Примечание: Эта функция доступна в Web Workers.
Событие message интерфейса EventSource срабатывает при получении данных через источник событий.
Это событие не отменяется и не распространяется.
Синтаксис
Используйте имя события в методах, таких как addEventListener(), или установите свойство обработчика событий.
addEventListener("message", (event) => {});
onmessage = (event) => {};
Тип события
Объект MessageEvent. Наследуется от Event.
Свойства события
Этот интерфейс также наследует свойства от своего родителя, Event.
-
MessageEvent.dataТолько для чтения -
Данные, отправленные исходящим объектом.
-
MessageEvent.originТолько для чтения -
Строка, представляющая происхождение исходящего объекта.
-
MessageEvent.lastEventIdТолько для чтения -
Строка, представляющая уникальный идентификатор события.
-
MessageEvent.sourceТолько для чтения -
Объект
MessageEventSource(который может быть объектом WindowProxy,MessagePortилиServiceWorker), представляющий исходящий объект. -
MessageEvent.portsТолько для чтения -
Массив объектов
MessagePort, представляющих порты, связанные с каналом, через который отправляется сообщение (если применимо, например, при обмене сообщениями по каналам или при отправке сообщения совмещенному рабочему процессу).
Примеры
В этом базовом примере создается объект EventSource для получения событий от сервера; страница с именем sse.php отвечает за генерацию событий.
const evtSource = new EventSource("sse.php");
const eventList = document.querySelector("ul");
evtSource.addEventListener("message", (e) => {
const newElement = document.createElement("li");
newElement.textContent = `message: ${e.data}`;
eventList.appendChild(newElement);
});
Эквивалент onmessage
evtSource.onmessage = (e) => {
const newElement = document.createElement("li");
newElement.textContent = `message: ${e.data}`;
eventList.appendChild(newElement);
};
Спецификации
| Спецификация |
|---|
| HTML # event-message |
| HTML # handler-eventsource-onmessage |
Совместимость браузеров
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
message_event |
6 | 79 | 6 | 12 | 5 | 18 | 45 | 12 | 5 | 1.0 | 4.4 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/EventSource/message_event