--- title: Notification.permission slug: Web/API/Notification/permission tags: - API - DOM - Notification - Notifications - Notifications API - Property - Reference - プロパティ - 通知 translation_of: Web/API/Notification/permission ---
{{APIRef("Web Notifications")}}{{AvailableInWorkers}}{{securecontext_header}}
permission
は {{domxref("Notification")}} インターフェイスの読み取り専用プロパティで、ユーザーが現在のオリジンに対してウェブ通知を表示することを許可したかどうか、現在の許可状態を表します。
var permission = Notification.permission;
現在の許可を表す {{domxref("DOMString")}} です。以下の値が可能です。
granted
: 現在のオリジンがシステム通知を表示することについて、ユーザーが明示的な許可を与えている。denied
: 現在のオリジンがシステム通知を表示することについて、ユーザーが明示的に拒否している。default
: ユーザーの決定は分からない。この場合、アプリケーションは許可が denied
である可能用に動作する。以下のスニペットは、まず通知に対応しているかどうかをチェックし、現在のオリジンで通知を送信するための許可が付与されているかどうかをチェックし、必要であれば許可を要求してから通知を送信したい場合に使用することができます。
function notifyMe() { // Let's check if the browser supports notifications if (!("Notification" in window)) { console.log("This browser does not support desktop notification"); } // Let's check whether notification permissions have alredy been granted else if (Notification.permission === "granted") { // If it's okay let's create a notification var notification = new Notification("Hi there!"); } // Otherwise, we need to ask the user for permission else if (Notification.permission !== 'denied' || Notification.permission === "default") { Notification.requestPermission(function (permission) { // If the user accepts, let's create a notification if (permission === "granted") { var notification = new Notification("Hi there!"); } }); } // At last, if the user has denied notifications, and you // want to be respectful there is no need to bother them any more. }
仕様書 | 状態 | 備考 |
---|---|---|
{{SpecName("Web Notifications","#dom-notification-permission","permission")}} | {{Spec2('Web Notifications')}} | Living standard |
{{Compat("api.Notification.permission")}}