Notifications API

安全上下文: 此功能僅在安全上下文(HTTPS)中可用,且支援此功能的瀏覽器數量有限。

注意:此功能在 Web Workers 中可用。

Notifications API 允許網頁控制向終端使用者顯示系統通知。這些通知位於頂級瀏覽上下文視口之外,因此即使在使用者切換標籤頁或切換到其他應用程式時也可以顯示。該 API 設計為與不同平臺上的現有通知系統相容。

概念與用法

在支援的平臺上,顯示系統通知通常涉及兩件事。首先,使用者需要授予當前源顯示系統通知的許可權,這通常在應用程式或站點初始化時使用 Notification.requestPermission() 方法完成。此方法應僅在處理使用者手勢時呼叫,例如在處理滑鼠單擊時。例如:

js
btn.addEventListener("click", () => {
  let promise = Notification.requestPermission();
  // wait for permission
});

這將彈出請求對話方塊,如下所示:

A dialog box asking the user to allow notifications from that origin. There are options to never allow or allow notifications.

在此,使用者可以選擇允許來自此來源的通知,或阻止它們。一旦做出選擇,該設定通常會在當前會話中保持不變。

接下來,使用 Notification() 建構函式建立一個新通知。必須為此傳遞一個標題引數,還可以選擇傳遞一個選項物件來指定選項,例如文字方向、正文文字、要顯示的圖示、要播放的通知聲音等。

此外,Notifications API 規範還指定了對 ServiceWorker API 的一些補充,以允許 Service Worker 觸發通知。

注意:要詳細瞭解如何在自己的應用中使用通知,請閱讀 使用 Notifications API

介面

Notification

定義一個通知物件。

NotificationEvent

表示在 ServiceWorkerServiceWorkerGlobalScope 上觸發的通知事件。

其他介面的擴充套件

notificationclick 事件

當用戶單擊顯示的通知時發生。

notificationclose 事件

當用戶關閉顯示的通知時發生。

ServiceWorkerRegistration.getNotifications()

返回當前 Service Worker 註冊通過當前來源建立的通知列表,按建立順序排列。

ServiceWorkerRegistration.showNotification()

顯示帶有請求標題的通知。

規範

規範
Notifications API

瀏覽器相容性

api.Notification

api.ServiceWorkerRegistration.showNotification

api.ServiceWorkerRegistration.getNotifications

另見