protocol_handlers
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。
protocol_handlers メンバーは、このウェブアプリが登録・処理することができるプロトコルを表すオブジェクトの配列を指定します。プロトコルハンドラーは、 OS のアプリケーション設定にアプリケーションを登録します。登録は、特定のアプリケーションと与えられたプロトコルスキームを関連付けます。例えば、ウェブページで mailto:// というプロトコルハンドラーを使用すると、登録されたメールアプリケーションが開きます。
プロトコルハンドラーとしてウェブアプリを登録すると、ユーザーがブラウザーやネイティブアプリから mailto:// や web+music:// などの特定のスキームを持つハイパーリンクをクリックすると、登録した PWA が開いてその URL を受信することができるようになります。
値
プロトコルハンドラーオブジェクトには、次の値が含まれている場合があります。
protocolExperimental-
必須の文字列で、処理するプロトコルを指定します。例えば、
mailto、ms-word、web+jnglです。 urlExperimental-
必須で、アプリケーションの
scope内でそのプロトコルを処理する HTTPS URL です。%sトークンは、プロトコルハンドラーのスキームで始まる URL に置き換えられます。urlが相対 URL の場合、ベース URL はマニフェストの URL になります。
例
この例では、ウェブアプリのマニフェストで、プロトコルの web+jngl と web+jnglstore を処理するためにアプリを登録することを宣言しています。
"protocol_handlers": [
{
"protocol": "web+jngl",
"url": "/lookup?type=%s"
},
{
"protocol": "web+jnglstore",
"url": "/shop?for=%s"
}
]
開発者は manifest.json にフィールドを追加して、ウェブアプリがどのプロトコルを処理できるかを宣言することができます。上記の例で見られるように、キーは protocol_handlers という名前で、プロトコル ハンドラー宣言オブジェクトの配列が含まれています。
URL スキームを処理するためのアプリケーションの登録は、オペレーティングシステムに依存します。この関連付けは通常、アプリケーションのインストール時に行われますが、既にインストールされているアプリケーションから後で行われることもあります。
仕様書
| Specification |
|---|
| Manifest Incubations> # protocol_handlers-member> |
ブラウザーの互換性
Loading…