This page was translated from English by the community. Learn more and join the MDN Web Docs community.
ServiceWorkerRegistration.pushManager
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since март 2023 г..
Экспериментальная возможность: Это экспериментальная технология
Так как спецификация этой технологии ещё не стабилизировалась, смотрите таблицу совместимости по поводу использования в различных браузерах. Также заметьте, что синтаксис и поведение экспериментальной технологии может измениться в будущих версиях браузеров, вслед за изменениями спецификации.
Свойство pushManager интерфейса ServiceWorkerRegistration возвращает ссылку на интерфейс PushManager, позволяющий управлять подписками на push-уведомления. Включает поддержку процедуры подписки, получения активной подписки, а также предоставляет доступ к статусу разрешений на push-уведомления.
Синтаксис
myPushManager = ServiceWorker.pushManager
Значение
Объект PushManager.
Примеры
this.onpush = function (event) {
console.log(event.data);
// Отсюда можно записывать данные в IndexedDB, отправлять их в любое
// открытое окно, отображать уведомление и т. д.
};
navigator.serviceWorker
.register("serviceworker.js")
.then(function (serviceWorkerRegistration) {
serviceWorkerRegistration.pushManager.subscribe().then(
function (pushSubscription) {
console.log(pushSubscription.subscriptionId);
console.log(pushSubscription.endpoint);
// Детали push-подписки, требуемые сервером приложения,
// теперь доступны, и могут быть отправлены, к примеру,
// при помощи XMLHttpRequest.
},
function (error) {
// При разработке это часто помогает отлавливать ошибки в консоли.
// В продакшен-среде это также может быть полезно для отправки отчёта
// об ошибках на сервер приложения.
console.log(error);
},
);
});
Спецификации
| Specification |
|---|
| Push API> # dom-serviceworkerregistration-pushmanager> |
Совместимость с браузерами
Enable JavaScript to view this browser compatibility table.