aboutsummaryrefslogtreecommitdiff
path: root/files/ja/web/api/permissions/revoke/index.html
blob: 2ffebf2cb5ca6d91158193b38276e01e485f0317 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
---
title: Permissions.revoke()
slug: Web/API/Permissions/revoke
tags:
  - API
  - Experimental
  - Method
  - Permissions
  - Permissions API
  - Reference
  - revoke
translation_of: Web/API/Permissions/revoke
---
<p>{{APIRef("Permissions API")}}{{SeeCompatTable}}</p>

<p><span class="seoSummary">{{domxref("Permissions")}} インターフェイスの <strong><code>Permissions.revoke()</code></strong> メソッドは、現在設定されているパーミッションをデフォルト状態(通常は <code>prompt</code>)に戻します。</span></p>

<h2 id="Syntax" name="Syntax">構文</h2>

<p>このメソッドは、グローバルな {{domxref("Permissions")}} オブジェクトである {{domxref("navigator.permissions")}} に対して呼び出します。</p>

<pre class="syntaxbox">var <em>revokePromise</em> = navigator.permissions.revoke(<em>descriptor</em>);
</pre>

<h3 id="Parameters" name="Parameters">パラメーター</h3>

<dl>
 <dt><code>descriptor</code></dt>
 <dd>名前と値のペアのコンマ区切りリストで構成される、操作のオプションを設定する <code>PermissionDescriptor</code> ディクショナリに基づくオブジェクト。 利用可能なオプションは次のとおりです。
 <ul>
  <li><code>name</code>: パーミッションを照会したい API の名前。 有効な値は、<code>'geolocation'</code><code>'midi'</code><code>'notifications'</code><code>'push'</code> です。</li>
  <li><code>userVisibleOnly</code>: Push のみ。 Firefox はサポートしていません。 下記の{{anch("Browser compatibility","ブラウザーの互換性")}}のセクションを参照してください)すべてのメッセージについて通知を表示するか、サイレントプッシュ通知を送信できるかを示します。 デフォルトは <code>false</code> です。</li>
  <li><code>sysex</code>: (MIDI のみ)システムエクスクルーシブメッセージが必要か受信するかどうかを示します。 デフォルトは <code>false</code> です。</li>
 </ul>
 </dd>
</dl>

<div class="note">
<p><strong></strong>: Firefox 44 以降、<a href="/ja/docs/Web/API/Notifications_API">Notifications</a><a href="/ja/docs/Web/API/Push_API">Push</a> のパーミッションは統合されました。 (例えば、ユーザーによって、関連するパーミッションのダイアログにより)パーミッションが与えられた場合、<code>navigator.permissions.query()</code><code>notifications</code><code>push</code> の両方に対して <code>true</code> を返します。</p>
</div>

<div class="note">
<p><strong></strong>: <code>persistent-storage</code> パーミッションは、<a href="https://storage.spec.whatwg.org/">Storage API</a> のとおりに、オリジンがそのストレージとして永続的ボックス(すなわち永続的ストレージ(<a href="https://storage.spec.whatwg.org/#persistence">persistent storage</a>))を使用することを許可します。</p>
</div>

<h3 id="Returns" name="Returns">戻り値</h3>

<p>要求の結果を示す {{domxref("PermissionStatus")}} オブジェクトと共に成功ハンドラを呼び出す {{jsxref("Promise")}}</p>

<h3 id="Exceptions" name="Exceptions">例外</h3>

<dl>
 <dt><code>TypeError</code></dt>
 <dd><code>PermissionDescriptor</code> 情報の取得が何らかの理由で失敗したか、アクセス権が存在しないか現在サポートされていません(例えば、<code>midi</code>、または <code>userVisibleOnly</code> と一緒の <code>push</code> で)。</dd>
</dl>

<h2 id="Example" name="Example"></h2>

<p>この関数をアプリで使用して、それが有する Geolocation API のパーミッションを取り消すように要求できます。</p>

<pre class="brush: js">function revokePermission() {
  navigator.permissions.revoke({name:'geolocation'}).then(function(result) {
    report(result.state);
  });
}</pre>

<h2 id="Specification" name="Specification">仕様</h2>

<table class="standard-table">
 <tbody>
  <tr>
   <th scope="col">仕様</th>
   <th scope="col">状態</th>
   <th scope="col">コメント</th>
  </tr>
  <tr>
   <td>{{SpecName('Permissions API','#dom-permissions-revoke','revoke()')}}</td>
   <td>{{Spec2('Permissions API')}}</td>
   <td>初期定義</td>
  </tr>
 </tbody>
</table>

<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2>

<div>


<p>{{Compat("api.Permissions.revoke")}}</p>
</div>