protocol_handlers
型 | Array |
---|---|
必須 | いいえ |
例 |
json
|
このキーを使ってウェブベースのプロトコルハンドラーを登録します。
プロトコルハンドラーは特定の種類のリンクを扱う方法を知るアプリケーションです: 例えば、メールクライアントは "mailto:" リンクのプロトコルハンドラーです。ユーザーが "mailto:" リンクをクリックした時、ブラウザーは "mailto:" プロトコルのハンドラーが選んだアプリケーションを開きます (または設定によっては、ハンドラーの選択を与えます)。
このキーでは、特定プロトコルのハンドラーとしてウェブサイトを登録できます。このキーの文法と意味は Navigator.registerProtocolHandler()
関数によく似ていて、その違いは registerProtocolHandler()
だけはウェブサイト自身をハンドラーに登録できることです。
プロトコルハンドラーは 3 つのプロパティを持ち、すべて必須です:
protocol
-
プロトコルを定義する文字列。次のいずれか:
- 次のどれか: "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".
- "web+" や "ext+"で始まるカスタム名からなる文字列。例えば: "web+foo" や "ext+foo"。カスタム名は小文字の ASCII 文字列でなければならない。拡張機能は "ext+" の形式を使うのが推奨です。
name
-
プロトコルハンドラーを表す文字列。これはユーザーがハンドラーにリンクを開くかどうか問い合わせた時に、ユーザーに表示されます。
uriTemplate
-
ハンドラーの URL を表す。この文字列はプレースホルダーとして "%s" を入れる必要があります: これは処理される文書の URL がエスケープされたもので置き換えられます。この URL は本当の URL や電話番号、電子メールアドレス、などです。これはローカライズ可能なプロパティです。
例
"protocol_handlers": [
{
"protocol": "magnet",
"name": "Magnet Extension",
"uriTemplate": "https://example.com/#!/%s"
}
]
ハンドラーは拡張機能ページのこともあります。
"protocol_handlers": [
{
"protocol": "magnet",
"name": "Magnet Extension",
"uriTemplate": "/example.xhtml#!/%s"
}
]
ブラウザーの互換性
BCD tables only load in the browser