Spec-Zone.ru › Web APIs

PushManager: метод getSubscription()

Базовая версия 2023
Новое

С марта 2023 года эта функция работает на последних устройствах и версиях браузеров. Эта функция может не работать на старых устройствах или браузерах.

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

Защищённый контекст: Эта функция доступна только в защищённых контекстах (HTTPS) в некоторых или всех поддерживающих браузерах.

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

Метод PushManager.getSubscription() интерфейса PushManager получает существующую подписку на уведомления.

Он возвращает Promise, который разрешается в объект PushSubscription содержащий детали существующей подписки. Если подписки не существует, он разрешается в значение null.

Синтаксис

getSubscription()

Параметры

Нет.

Возвращаемое значение

Promise, который разрешается в объект PushSubscription или null.

Примеры

Этот фрагмент кода взят из примера уведомлений и сообщений push. (Живой пример недоступен.)

// We need the service worker registration to check for a subscription
navigator.serviceWorker.ready.then((serviceWorkerRegistration) => {
  // Do we already have a push message subscription?
  serviceWorkerRegistration.pushManager
    .getSubscription()
    .then((subscription) => {
      // Enable any UI which subscribes / unsubscribes from
      // push messages.
      const pushButton = document.querySelector(".js-push-button");
      pushButton.disabled = false;

      if (!subscription) {
        // We aren't subscribed to push, so set UI
        // to allow the user to enable push
        return;
      }

      // Keep your server in sync with the latest subscriptionId
      sendSubscriptionToServer(subscription);

      showCurlCommand(subscription);

      // Set your UI to show they have subscribed for
      // push messages
      pushButton.textContent = "Disable Push Messages";
      isPushEnabled = true;
    })
    .catch((err) => {
      console.error(`Error during getSubscription(): ${err}`);
    });
});

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

Спецификация
Push API
# dom-pushmanager-getsubscription

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

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
getSubscription 42 17 44 29
16Уведомления поддерживаются на macOS Ventura и новее.
42 48 29
16.4Уведомления поддерживаются в веб-приложениях, сохранённых на главном экране.
4.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/PushManager/getSubscription

Spec-Zone.ru

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