Notification: Notification() コンストラクター
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。
メモ: この機能はウェブワーカー内で利用可能です。
Notification() コンストラクターは、ユーザー通知を表す新しい Notification オブジェクトのインスタンスを生成します。
メモ:
ServiceWorkerGlobalScope 内で Notification() コンストラクターを使用して通知を作成しようとすると、TypeError が発生します。代わりに ServiceWorkerRegistration.showNotification() を使用してください。
構文
new Notification(title)
new Notification(title, options)
引数
title-
通知ウィンドウの最上部に表示される、通知のためのタイトルを定義します。
options省略可-
通知に適用するカスタム設定を含むオプションオブジェクトです。使用できるオプションは以下のとおりです。
dir省略可-
通知を表示する方向です。既定値は
autoで、ブラウザーの言語設定の振る舞いが適用されますが、ltrとrtlの値で振る舞いを上書きできます (ただし、ほとんどのブラウザーがこれらの設定を無視しているようですが)。 lang省略可-
RFC 5646: 言語を識別するタグ(BCP 47 とも)を表す文字列を使って指定される通知の言語です。 簡単なリファレンスとして ISO 2 letter language codes ページを参照してください。 既定値は空文字列です。
badge省略可-
文字列で、通知自体を表示する充分な空間がない場合に通知の表現に使用される画像の URL を指定します。
body省略可-
文字列で、タイトルの下側に表示される通知の本文を表します。 既定値は空文字列です。
tag省略可-
通知のための識別タグを表す 文字列です。
icon省略可-
通知の一部として表示されるアイコンのURLを含む文字列です。
image省略可-
文字列で、通知に表示される画像の URL を指定します。
data省略可-
通知に関連付ける任意のデータです。これはどのデータ型でも可能です。 既定値は
nullです。 vibrate省略可-
通知が発生したときに端末のバイブレーションハードウェアに通知するバイブレーションパターンです。指定された場合、
silentはtrueにできません。 timestamp省略可-
数値で、通知が作成された時点または適用される時点(過去、現在、未来)を表します。
renotify省略可-
古い通知が新しい通知に置き換えられた後、ユーザーに通知するかどうかを指定する論理値です。既定値は
falseで、通知しないことを意味します。trueの場合、tagも設定する必要があります。 requireInteraction省略可-
通知が自動的に閉じるのではなく、ユーザーがクリックするか解除するまでアクティブな状態を維持すべきであることを示します。 既定値は
falseです。 actions省略可-
通知で表示するアクションの配列です。配列内のそれぞれの要素は、以下のメンバーを持つオブジェクトです。
action-
通知上に表示されるユーザーアクションを特定する文字列。
title-
ユーザーに表示するアクションテキストを含む文字列。
icon省略可-
アクションとともに表示されるアイコンの URL を含む文字列。
適切なレスポンスは
event.actionを使用してnotificationclickイベント内で構築されます。 silent省略可-
通知をサイレントにするかどうかを指定する論理値です。端末の設定にかかわらず、音やバイブレーションを発しないようにします。 既定値は
nullです。trueの場合、vibrateが存在してはいけません。
返値
Notification オブジェクトのインスタンスです。
例外
TypeError-
以下の場合に例外が発生します。
- コンストラクターが
ServiceWorkerGlobalScopeの中で呼び出された場合。 actionsオプションが設定されており、空であった場合。silentオプションがtrueで、vibrateオプションが指定されていた場合。renotifyオプションがtrueだが、tagオプションが空の場合。
- コンストラクターが
DataCloneErrorDOMException-
何らかの理由で
dataオプションのシリアライズに失敗した場合に発生します。
例
この例は、その権限がすでに付与されている場合にのみ通知を表示させるという最も基本的なものです。より完全な例については、Notification ページをご覧ください。
if (Notification.permission === "granted") {
const notification = new Notification("Hi there!");
}
仕様書
| Specification |
|---|
| Notifications API> # dom-notification-notification> |
ブラウザーの互換性
Loading…
Chrome の注意事項
Chrome 49 以降では、 incognito モードでは通知が動作しません。
Android 版 Chrome は Notification コンストラクターを呼び出すと TypeError を発生させます。サービスワーカーからの通知の作成にのみ対応しています。詳しくは Chromium issue tracker をご覧ください。