aboutsummaryrefslogtreecommitdiff
path: root/files/ja/mozilla/add-ons/webextensions/manifest.json/protocol_handlers/index.html
blob: 5506ad69916dcea8552f8665dc49ef6a7c712505 (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
---
title: protocol_handlers
slug: Mozilla/Add-ons/WebExtensions/manifest.json/protocol_handlers
tags:
  - Add-ons
  - Extensions
  - WebExtensions
  - manifest.json
translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/protocol_handlers
---
<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">
"protocol_handlers": [
  {
    "protocol": "ircs",
    "name": "IRC Mozilla Extension",
    "uriTemplate": "https://irccloud.mozilla.com/#!/%s"
  }
]</pre>
   </td>
  </tr>
 </tbody>
</table>

<p>このキーを使ってウェブベースのプロトコルハンドラーを登録します。</p>

<p>プロトコルハンドラーは特定の種類のリンクを扱う方法を知るアプリケーションです: 例えば、メールクライアントは "mailto:" リンクのプロトコルハンドラーです。ユーザーが "mailto:" リンクをクリックした時、ブラウザーは "mailto:" プロトコルのハンドラーが選んだアプリケーションを開きます (または設定によっては、ハンドラーの選択を与えます)。</p>

<p>このキーでは、特定プロトコルのハンドラーとしてウェブサイトを登録できます。このキーの文法と意味は <code><a href="/ja/docs/Web/API/Navigator/registerProtocolHandler">Navigator.registerProtocolHandler()</a></code> 関数によく似ていて、その違いは <code>registerProtocolHandler()</code> だけはウェブサイト自身をハンドラーに登録できることです。</p>

<p>プロトコルハンドラーは 3 つのプロパティを持ち、すべて必須です:</p>

<dl>
 <dt><code>protocol</code></dt>
 <dd>
 <p>プロトコルを定義する文字列。次のいずれか:</p>

 <ul>
  <li>次のどれか: "bitcoin", "dat", "dweb", "geo", "gopher", "im", "ipfs", "ipns", "irc", "ircs", "magnet", "mailto", "mms", "news", "nntp", "sip", "sms", "smsto", "ssb", "ssh", "tel", "urn", "webcal", "wtai", "xmpp".</li>
  <li>"web+" や "ext+"で始まるカスタム名からなる文字列。例えば: "web+foo" や "ext+foo"。カスタム名は小文字の ASCII 文字列でなければならない。拡張機能は "ext+" の形式を使うのが推奨です。</li>
 </ul>
 </dd>
 <dt><code>name</code></dt>
 <dd>プロトコルハンドラーを表す文字列。これはユーザーがハンドラーにリンクを開くかどうか問い合わせた時に、ユーザーに表示されます。</dd>
 <dt><code>uriTemplate</code></dt>
 <dd>ハンドラーの URL を表す。この文字列はプレースホルダーとして "%s" を入れる必要があります: これは処理される文書の URL がエスケープされたもので置き換えられます。この URL は本当の URL や電話番号、電子メールアドレス、などです。これは<a href="/ja/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json">ローカライズ可能なプロパティ</a>です。</dd>
</dl>

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

<pre class="brush: json  no-line-numbers">"protocol_handlers": [
  {
    "protocol": "magnet",
    "name": "Magnet Extension",
    "uriTemplate": "https://example.com/#!/%s"
  }
]</pre>

<p>ハンドラーは<a href="/ja/docs/Mozilla/Add-ons/WebExtensions/user_interface/Extension_pages">拡張機能ページ</a>のこともあります。</p>

<pre class="brush: json  no-line-numbers">"protocol_handlers": [
  {
    "protocol": "magnet",
    "name": "Magnet Extension",
    "uriTemplate": "/example.xhtml#!/%s"
  }
]</pre>

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

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