ExtendableMessageEvent: свойство source
Базовая поддержка Широко распространена
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с апреля 2018 года.
Примечание: Эта функция доступна только в Сервис-воркерах.
Свойство source только для чтения интерфейса ExtendableMessageEvent возвращает ссылку на объект Client, из которого было отправлено сообщение.
Значение
Объект Client, ServiceWorker или MessagePort.
Примеры
Когда в сервис-воркере используется следующий код для ответа на push-сообщения, отправляя полученные данные через PushMessageData в основной контекст через сообщение канала, объект события onmessage будет являться ExtendableMessageEvent.
let port;
self.addEventListener("push", (e) => {
const obj = e.data.json();
if (obj.action === "subscribe" || obj.action === "unsubscribe") {
port.postMessage(obj);
} else if (obj.action === "init" || obj.action === "chatMsg") {
port.postMessage(obj);
}
});
self.onmessage = (e) => {
console.log(e.source);
port = e.ports[0];
};
Спецификации
| Спецификация |
|---|
| Сервис-воркеры # extendablemessage-event-source |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
source |
51 | 17 | 44 | 38 | 11.1 | 51 | 44 | 41 | 11.3 | 5.0 | 51 |
См. также
© 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/ExtendableMessageEvent/source