NotificationEvent
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2023.
* Some parts of this feature may have varying levels of support.
Note: This feature is only available in Service Workers.
Giao diện NotificationEvent của Notifications API đại diện cho sự kiện thông báo được gửi trên ServiceWorkerGlobalScope của một ServiceWorker.
Giao diện này kế thừa từ giao diện ExtendableEvent.
Note:
Chỉ các sự kiện thông báo liên tục, được kích hoạt tại đối tượng ServiceWorkerGlobalScope, mới triển khai giao diện NotificationEvent. Các sự kiện thông báo không liên tục, được kích hoạt tại đối tượng Notification, triển khai giao diện Event.
Hàm khởi tạo
NotificationEvent()-
Tạo một đối tượng
NotificationEventmới.
Thuộc tính phiên bản
Cũng kế thừa các thuộc tính từ giao diện cha, ExtendableEvent.
NotificationEvent.notificationRead only-
Trả về một đối tượng
Notificationđại diện cho thông báo đã được nhấp để kích hoạt sự kiện. NotificationEvent.actionRead only-
Trả về ID chuỗi của nút thông báo mà người dùng đã nhấp. Giá trị này trả về chuỗi rỗng nếu người dùng đã nhấp vào thông báo ở nơi khác ngoài nút hành động, hoặc nếu thông báo không có nút.
Phương thức phiên bản
Cũng kế thừa các phương thức từ giao diện cha, ExtendableEvent.
Ví dụ
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("/");
}),
);
});
Thông số kỹ thuật
| Specification |
|---|
| Notifications API> # notificationevent> |
Note:
Giao diện này được chỉ định trong Notifications API, nhưng được truy cập thông qua ServiceWorkerGlobalScope.