Notification: permission 静的プロパティ

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

メモ: この機能はウェブワーカー内で利用可能です。

permissionNotification インターフェイスの読み取り専用プロパティで、ユーザーが現在のオリジンに対してウェブ通知を表示することを許可したかどうか、現在の許可状態を表します。

文字列で、現在の許可の状態を表します。以下の値が可能です。

granted

現在のオリジンがシステム通知を表示することについて、ユーザーが明示的な許可を与えている。

denied

現在のオリジンがシステム通知を表示することについて、ユーザーが明示的に拒否している。

default

ユーザーの決定は分からない。この場合、アプリケーションは許可が denied であるかのように動作する。

以下のスニペットは、まず通知に対応しているかどうかをチェックし、現在のオリジンで通知を送信するための許可が付与されているかどうかをチェックし、必要であれば許可を要求してから通知を送信したい場合に使用することができます。

js
function notifyMe() {
  if (!("Notification" in window)) {
    // ブラウザーが通知に対応しているかどうかをチェックする
    alert("このブラウザーはデスクトップ通知に対応していません。");
  } else if (Notification.permission === "granted") {
    // 通知の許可が既に得られているかどうかをチェックする
    // それならば、通知を作成する
    const notification = new Notification("こんにちは!");
    // …
  } else if (Notification.permission !== "denied") {
    // そうでなければ、ユーザーに許可を求める必要がある
    Notification.requestPermission().then((permission) => {
      // ユーザーが許可したら、通知を作成する
      if (permission === "granted") {
        const notification = new Notification("こんにちは!");
        // …
      }
    });
  }

  // 最後に、ユーザーが通知を拒否していて、あなたが敬意を
  // 払いたい場合は、これ以上相手を煩わせることはありません。
}

仕様書

Specification
Notifications API
# dom-notification-permission

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
permission static property

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
Partial support
Partial support
No support
No support
See implementation notes.

関連情報