PermissionStatus: state プロパティ

Baseline 2022
Newly available

Since September 2022, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

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

statePermissionStatus インターフェイスの読み取り専用プロパティで、要求された権限の状態を返します。 このプロパティは、'granted'(許可)、'denied'(拒否)、'prompt'(プロンプト)のいずれかを返します。

以下のいずれかです。

'granted'

ユーザー、またはユーザーの代理となるユーザーエージェントが、強力な機能を使用する明示的な権限を付与しました。呼び出し側は、ユーザーエージェントがユーザーの許可を要求することなく、その機能を使用できる可能性があります。

'denied'

ユーザー、またはユーザーの代理となるユーザーエージェントが、この強力な機能にアクセスすることを拒否しています。呼び出し側は、この機能を使用することができません。

'prompt'

ユーザーは、その機能を使用する明示的な許可を与えていません(すなわち、denied と同じです)。かつ、呼び出し側がその機能を使用しようとした場合、ユーザーエージェントは許可するか、その機能へのアクセスを拒否するかをユーザーに尋ねます。

js
navigator.permissions
  .query({ name: "geolocation" })
  .then((permissionStatus) => {
    console.log(`位置情報の権限の状態は ${permissionStatus.state} です。`);
    permissionStatus.onchange = () => {
      console.log(
        `位置情報の権限の状態が ${permissionStatus.state} に変更されました。`,
      );
    };
  });

仕様書

Specification
Permissions
# dom-permissionstatus-state

ブラウザーの互換性

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
state

Legend

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

Full support
Full support
No support
No support
Uses a non-standard name.
Has more compatibility info.