Spec-Zone.ru › Web APIs

NotificationEvent

Примечание: Данная функция доступна только в Служебных рабочих процессах.

Интерфейс NotificationEvent из API уведомлений представляет собой событие уведомления, отправленное на ServiceWorkerGlobalScope ServiceWorker.

Этот интерфейс наследуется от интерфейса ExtendableEvent.

Примечание: Только постоянные события уведомлений, вызываемые в объекте ServiceWorkerGlobalScope, реализуют интерфейс NotificationEvent. Непостоянные события уведомлений, вызываемые в объекте Notification, реализуют интерфейс Event.

Событие ExtendableEvent NotificationEvent

Конструктор

NotificationEvent()

Создаёт новый объект NotificationEvent.

Свойства экземпляра

Также наследует свойства от родительского интерфейса, ExtendableEvent.

NotificationEvent.notification Только для чтения

Возвращает объект Notification, представляющий уведомление, на которое был нажат, чтобы вызвать событие.

NotificationEvent.action Только для чтения

Возвращает строковый идентификатор кнопки уведомления, на которую нажал пользователь. Это значение возвращает пустую строку, если пользователь нажал на уведомление в месте, отличном от кнопки действия, или уведомление не имеет кнопки.

Методы экземпляра

Также наследует методы от родительского интерфейса, ExtendableEvent.

Пример

self.addEventListener("notificationclick", (event) => {
  console.log(`On notification click: ${event.notification.tag}`);
  event.notification.close();

  // This looks to see if the current is already open and
  // focuses if it is
  event.waitUntil(
    clients
      .matchAll({
        type: "window",
      })
      .then((clientList) => {
        for (const client of clientList) {
          if (client.url === "/" && "focus" in client) return client.focus();
        }
        if (clients.openWindow) return clients.openWindow("/");
      }),
  );
});

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

Спецификация
API уведомлений
# notificationevent

Примечание: Этот интерфейс определён в API уведомлений, но доступен через ServiceWorkerGlobalScope.

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

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

Spec-Zone.ru

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