Spec-Zone.ru › Web APIs

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

См. также

  • Использование Service Workers
  • Пример кода Service Workers
  • Сообщения каналов

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API