Skip to content

Commit

Permalink
2024/07/26 時点の英語版に基づき更新
Browse files Browse the repository at this point in the history
  • Loading branch information
mfuji09 committed Sep 2, 2024
1 parent 83048b4 commit 77aecfd
Showing 1 changed file with 22 additions and 17 deletions.
39 changes: 22 additions & 17 deletions files/ja/web/api/notificationevent/index.md
Original file line number Diff line number Diff line change
@@ -1,40 +1,43 @@
---
title: NotificationEvent
slug: Web/API/NotificationEvent
l10n:
sourceCommit: aa8fa82a902746b0bd97839180fc2b5397088140
---

{{APIRef("Web Notifications")}}
{{APIRef("Web Notifications")}}{{AvailableInWorkers("service")}}

{{domxref("ServiceWorkerGlobalScope.onnotificationclick", "onnotificationclick")}} ハンドラーに渡される引数である `NotificationEvent` インターフェイスは、 {{domxref("ServiceWorker")}} の {{domxref("ServiceWorkerGlobalScope")}} で配信される通知クリックイベントを表します
**`NotificationEvent`**{{domxref("Notifications API", "通知 API", "", "nocode")}}のインターフェイスで、サービスワーカー ({{domxref("ServiceWorker")}}) の {{domxref("ServiceWorkerGlobalScope")}} で配信される通知イベントを表します

このインターフェイスは {{domxref("ExtendableEvent")}} インターフェイスを継承しています。

> **メモ:** {{domxref("ServiceWorkerGlobalScope")}} オブジェクトで発行される持続的な通知イベントのみが、`NotificationEvent`インターフェイスを実装します。{{domxref("Notification")}} オブジェクトで発行される非持続的な通知イベントは、`Event`インターフェイスを実装します。
{{InheritanceDiagram}}

## コンストラクター

- {{domxref("NotificationEvent.NotificationEvent","NotificationEvent()")}}
- : 新しい `NotificationEvent` オブジェクトを作成します。

## プロパティ
## インスタンスプロパティ

_祖先である {{domxref("Event")}} からプロパティを継承しています_
_親インターフェイスである {{domxref("ExtendableEvent")}} から継承したプロパティもあります_

- {{domxref("NotificationEvent.notification")}} {{readonlyInline}}
- {{domxref("NotificationEvent.notification")}} {{ReadOnlyInline}}
- : イベントを発生させるためにクリックされた通知を表す {{domxref("Notification")}} オブジェクトを返します。
- {{domxref("NotificationEvent.action")}} {{readonlyinline}}
- {{domxref("NotificationEvent.action")}} {{ReadOnlyInline}}
- : ユーザーがクリックした通知ボタンの文字列 ID を返します。ユーザーがアクションボタン以外の場所で通知をクリックした場合、または通知にボタンがない場合、この値は空の文字列を返します。

## メソッド
## インスタンスメソッド

_親の {{domxref("ExtendableEvent")}} からメソッドを継承しています。_

- {{domxref("ExtendableEvent.waitUntil", "ExtendableEvent.waitUntil()")}}
- : イベントの存続期間を延長します。作業が進行中であることをブラウザーに伝えます。
_親インターフェイスである {{domxref("ExtendableEvent")}} から継承したメソッドもあります。_

##

```js
self.addEventListener("notificationclick", function (event) {
console.log("On notification click: ", event.notification.tag);
self.addEventListener("notificationclick", (event) => {
console.log(`On notification click: ${event.notification.tag}`);
event.notification.close();

// これは、現在のページが既に開いているかどうかを確認し、
Expand All @@ -44,10 +47,9 @@ self.addEventListener("notificationclick", function (event) {
.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();
.then((clientList) => {
for (const client of clientList) {
if (client.url === "/" && "focus" in client) return client.focus();
}
if (clients.openWindow) return clients.openWindow("/");
}),
Expand All @@ -59,6 +61,9 @@ self.addEventListener("notificationclick", function (event) {

{{Specifications}}

> [!NOTE]
> このインターフェイスは[通知 API](/ja/docs/Web/API/Notifications_API) で定義されていますが、{{domxref("ServiceWorkerGlobalScope")}} を通してアクセスします。
## ブラウザーの互換性

{{Compat}}

0 comments on commit 77aecfd

Please sign in to comment.