NotificationEvent
onnotificationclick
ハンドラーに渡される引数である NotificationEvent
インターフェイスは、 ServiceWorker
の ServiceWorkerGlobalScope
で配信される通知クリックイベントを表します。
このインターフェイスは ExtendableEvent
インターフェイスを継承しています。
コンストラクター
NotificationEvent()
-
新しい
NotificationEvent
オブジェクトを作成します。
プロパティ
祖先である Event
からプロパティを継承しています。
NotificationEvent.notification
読取専用-
イベントを発生させるためにクリックされた通知を表す
Notification
オブジェクトを返します。 NotificationEvent.action
読取専用-
ユーザーがクリックした通知ボタンの文字列 ID を返します。ユーザーがアクションボタン以外の場所で通知をクリックした場合、または通知にボタンがない場合、この値は空の文字列を返します。
メソッド
親の ExtendableEvent
からメソッドを継承しています。
ExtendableEvent.waitUntil()
-
イベントの存続期間を延長します。作業が進行中であることをブラウザーに伝えます。
例
js
self.addEventListener("notificationclick", function (event) {
console.log("On notification click: ", event.notification.tag);
event.notification.close();
// これは、現在のページが既に開いているかどうかを確認し、
// そうならばフォーカスします
event.waitUntil(
clients
.matchAll({
type: "window",
})
.then(function (clientList) {
for (var i = 0; i < clientList.length; i++) {
var client = clientList[i];
if (client.url == "/" && "focus" in client) return client.focus();
}
if (clients.openWindow) return clients.openWindow("/");
}),
);
});
仕様書
Specification |
---|
Notifications API Standard # notificationevent |
ブラウザーの互換性
BCD tables only load in the browser