NotificationEvent
Примечание: Данная функция доступна только в Служебных рабочих процессах.
Интерфейс NotificationEvent из API уведомлений представляет собой событие уведомления, отправленное на ServiceWorkerGlobalScope ServiceWorker.
Этот интерфейс наследуется от интерфейса ExtendableEvent.
Примечание: Только постоянные события уведомлений, вызываемые в объекте ServiceWorkerGlobalScope, реализуют интерфейс NotificationEvent. Непостоянные события уведомлений, вызываемые в объекте Notification, реализуют интерфейс Event.
Конструктор
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