PushMessageData
Базовая версия 2023
Новое
С марта 2023 года эта функция работает во всех последних версиях устройств и браузеров. Возможно, эта функция не будет работать в более старых устройствах или браузерах.
Защищённый контекст: Эта функция доступна только в защищенных контекстах (HTTPS) в некоторых или во всех поддерживающих браузерах.
Примечание: Эта функция доступна только в Service Workers.
Интерфейс PushMessageData API push-уведомлений предоставляет методы, позволяющие извлекать данные push-уведомлений, отправленные сервером, в различных форматах.
В отличие от аналогичных методов в Fetch API, которые позволяют вызвать метод только один раз, эти методы можно вызывать несколько раз.
Сообщения, полученные через Push API, шифруются push-службами, а затем автоматически расшифровываются браузерами, прежде чем они станут доступными через методы интерфейса PushMessageData.
Свойства экземпляра
Нет.
Методы экземпляра
PushMessageData.arrayBuffer()-
Извлекает данные в виде объекта
ArrayBuffer. PushMessageData.blob()-
Извлекает данные в виде объекта
Blob. PushMessageData.bytes()-
Извлекает данные в виде объекта
Uint8Array. PushMessageData.json()-
Извлекает данные в виде объекта JSON.
PushMessageData.text()-
Извлекает данные в виде обычной текстовой строки.
Примеры
self.addEventListener("push", (event) => {
const obj = event.data.json();
if (obj.action === "subscribe" || obj.action === "unsubscribe") {
fireNotification(obj, event);
port.postMessage(obj);
} else if (obj.action === "init" || obj.action === "chatMsg") {
port.postMessage(obj);
}
});
Спецификации
| Спецификация |
|---|
| Push API # pushmessagedata-interface |
Совместимость браузеров
| Рабочий стол | Мобильный | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
PushMessageData |
50 | 17 | 44 | 37 | 16Уведомления поддерживаются в macOS Ventura и более поздних версиях. |
50 | 48 | 37 | 16.4Уведомления поддерживаются в веб-приложениях, сохранённых на главном экране. |
5.0 | Нет |
arrayBuffer |
50 | 17 | 44 | 37 | 16Уведомления поддерживаются в macOS Ventura и более поздних версиях. |
50 | 48 | 37 | 16.4Уведомления поддерживаются в веб-приложениях, сохранённых на главном экране. |
5.0 | Нет |
blob |
50 | 17 | 44 | 37 | 16Уведомления поддерживаются в macOS Ventura и более поздних версиях. |
50 | 48 | 37 | 16.4Уведомления поддерживаются в веб-приложениях, сохранённых на главном экране. |
5.0 | Нет |
bytes |
132 | 132 | 128 | 117 | 18 | 132 | 128 | Нет | 18 | Нет | Нет |
json |
50 | 17 | 44 | 37 | 16Уведомления поддерживаются в macOS Ventura и более поздних версиях. |
50 | 48 | 37 | 16.4Уведомления поддерживаются в веб-приложениях, сохранённых на главном экране. |
5.0 | Нет |
text |
50 | 17 | 44 | 37 | 16Уведомления поддерживаются в macOS Ventura и более поздних версиях. |
50 | 48 | 37 | 16.4Уведомления поддерживаются в веб-приложениях, сохранённых на главном экране. |
5.0 | Нет |
© 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/PushMessageData