ServiceWorkerRegistration.pushManager
Experimental: Это экспериментальная технология
Так как спецификация этой технологии ещё не стабилизировалась, смотрите таблицу совместимости по поводу использования в различных браузерах. Также заметьте, что синтаксис и поведение экспериментальной технологии может измениться в будущих версиях браузеров, вслед за изменениями спецификации.
Свойство 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 |
Совместимость с браузерами
BCD tables only load in the browser