aboutsummaryrefslogtreecommitdiff
path: root/files/ja/mozilla/add-ons/webextensions/manifest.json/optional_permissions/index.html
blob: 66d1571eea3959022cfb284e40f771a62b47fa61 (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
91
92
93
94
95
96
97
98
---
title: optional_permissions
slug: Mozilla/Add-ons/WebExtensions/manifest.json/optional_permissions
tags:
  - Add-ons
  - WebExtensions
  - manifest.json
  - optional_permissions
translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/optional_permissions
---
<div>{{AddonSidebar}}</div>

<table class="fullwidth-table standard-table">
 <tbody>
  <tr>
   <th scope="row" style="width: 30%;"></th>
   <td><code>Array</code></td>
  </tr>
  <tr>
   <th scope="row">必須</th>
   <td>いいえ</td>
  </tr>
  <tr>
   <th scope="row"></th>
   <td>
    <pre class="brush: json no-line-numbers">
"optional_permissions": [
  "*://developer.mozilla.org/*",
  "webRequest"
]</pre>
   </td>
  </tr>
 </tbody>
</table>

<p><code>optional_permissions</code> キーを使って、拡張機能がインストールされた後に、実行時に要求するパーミッションを一覧できます。</p>

<p><code><a href="/ja/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions">permissions</a></code> キーは拡張機能がインストールされる時に必要とするパーミッションを一覧しますが、<code>optional_permissions</code> は拡張機能のインストール時には必要でないが、インストール後のどこかで要求されることのあるパーミッションを一覧します。パーミッションを要求するには、<code><a href="/ja/docs/Mozilla/Add-ons/WebExtensions/API/permissions">permissions</a></code> API を使います。パーミッションを要求すると、おそらくユーザーに拡張機能にパーミッションを許可しても良いかを尋ねるダイアログが表示されるでしょう。</p>

<p>このキーは 2種類のパーミッションを含みます: ホストパーミッションと API パーミッションです。</p>

<h2 id="Host_permissions" name="Host_permissions">ホストパーミッション</h2>

<p>これは <code><a href="/ja/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions">permissions</a></code> キーで指定できるホストパーミッションと同じです。</p>

<h2 id="API_permissions" name="API_permissions">API パーミッション</h2>

<p>下記のいずれも入れることができますが、すべてのブラウザーに入ってはいません: ブラウザー固有の詳細については、互換性テーブルを確認してください:</p>

<ul>
 <li><code>activeTab</code></li>
 <li><code>background</code></li>
 <li><code>bookmarks</code></li>
 <li><code>browserSettings</code></li>
 <li><code>clipboardRead</code></li>
 <li><code>clipboardWrite</code></li>
 <li><code>contentSettings</code></li>
 <li><code>contextMenus</code></li>
 <li><code>cookies</code></li>
 <li><code>debugger</code></li>
 <li><code>downloads</code></li>
 <li><code>downloads.open</code></li>
 <li><code>geolocation</code></li>
 <li><code>history</code></li>
 <li><code>idle</code></li>
 <li><code>management</code></li>
 <li><code>notifications</code></li>
 <li><code>pageCapture</code></li>
 <li><code>tabs</code></li>
 <li><code>topSites</code></li>
 <li><code>webNavigation</code></li>
 <li><code>webRequest</code></li>
 <li><code>webRequestBlocking</code></li>
</ul>

<p>これは <code><a href="/ja/Add-ons/WebExtensions/manifest.json/permissions#API_permissions">permissions</a></code> で許可される API パーミッションのサブセットです。</p>

<p>このセットでは、下記のパーミッションが、ユーザープロンプトなしで暗黙的に許可されます<span class="blob-code-inner"><span class="pl-s">:</span></span><span class="blob-code-inner"><span class="pl-s"> activeTab, cookies, idle, webRequest, webRequestBlocking</span></span></p>

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

<pre class="brush: json no-line-numbers"> "optional_permissions": ["*://developer.mozilla.org/*"]</pre>

<p>拡張機能に developer.mozilla.org 以下のページの権限アクセス要求を有効にします。</p>

<pre class="brush: json no-line-numbers">  "optional_permissions": ["tabs"]</pre>

<p>拡張機能に <code>tabs</code> API の権限部分へのアクセス要求を有効にします。</p>

<pre class="brush: json no-line-numbers">  "optional_permissions": ["*://developer.mozilla.org/*", "tabs"]</pre>

<p>拡張機能に上記の両方への要求を有効にします。</p>

<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザー実装状況</h2>

<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>

<p>{{Compat("webextensions.manifest.optional_permissions")}}</p>