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> |