Notifications API
注意:此功能在 Web Workers 中可用。
Notifications API 允許網頁控制向終端使用者顯示系統通知。這些通知位於頂級瀏覽上下文視口之外,因此即使在使用者切換標籤頁或切換到其他應用程式時也可以顯示。該 API 設計為與不同平臺上的現有通知系統相容。
概念與用法
在支援的平臺上,顯示系統通知通常涉及兩件事。首先,使用者需要授予當前源顯示系統通知的許可權,這通常在應用程式或站點初始化時使用 Notification.requestPermission() 方法完成。此方法應僅在處理使用者手勢時呼叫,例如在處理滑鼠單擊時。例如:
js
btn.addEventListener("click", () => {
let promise = Notification.requestPermission();
// wait for permission
});
這將彈出請求對話方塊,如下所示:

在此,使用者可以選擇允許來自此來源的通知,或阻止它們。一旦做出選擇,該設定通常會在當前會話中保持不變。
接下來,使用 Notification() 建構函式建立一個新通知。必須為此傳遞一個標題引數,還可以選擇傳遞一個選項物件來指定選項,例如文字方向、正文文字、要顯示的圖示、要播放的通知聲音等。
此外,Notifications API 規範還指定了對 ServiceWorker API 的一些補充,以允許 Service Worker 觸發通知。
注意:要詳細瞭解如何在自己的應用中使用通知,請閱讀 使用 Notifications API。
介面
Notification-
定義一個通知物件。
NotificationEvent-
表示在
ServiceWorker的ServiceWorkerGlobalScope上觸發的通知事件。
其他介面的擴充套件
notificationclick事件-
當用戶單擊顯示的通知時發生。
notificationclose事件-
當用戶關閉顯示的通知時發生。
ServiceWorkerRegistration.getNotifications()-
返回當前 Service Worker 註冊通過當前來源建立的通知列表,按建立順序排列。
ServiceWorkerRegistration.showNotification()-
顯示帶有請求標題的通知。
規範
| 規範 |
|---|
| Notifications API |
瀏覽器相容性
api.Notification
載入中…
api.ServiceWorkerRegistration.showNotification
載入中…
api.ServiceWorkerRegistration.getNotifications
載入中…