Spec-Zone.ru › Web APIs

ExtendableMessageEvent: свойство data

Базовый уровень Широко доступен

Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с апреля 2018 года.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Примечание: Эта функция доступна только в Service Workers.

Чтение только свойство data интерфейса ExtendableMessageEvent возвращает данные события. Это может быть любой тип данных.

Значение

Любой тип данных.

Примеры

При использовании следующего кода внутри service worker для ответа на 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.data);
  port = e.ports[0];
};

Спецификации

Спецификация
Service Workers
# extendablemessage-event-data

Совместимость браузеров

Рабочий стол Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
data 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/data

Spec-Zone.ru

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