diff --git a/files/ja/_redirects.txt b/files/ja/_redirects.txt index 7ebb1cd0827a97..0a83af57b00437 100644 --- a/files/ja/_redirects.txt +++ b/files/ja/_redirects.txt @@ -2566,7 +2566,7 @@ /ja/docs/Using_web_workers /ja/docs/Web/API/Web_Workers_API/Using_web_workers /ja/docs/View_source https://firefox-source-docs.mozilla.org/devtools-user/view_source/index.html /ja/docs/WOFF /ja/docs/Web/CSS/CSS_fonts/WOFF -/ja/docs/Web-based_protocol_handlers /ja/docs/Web/API/Navigator/registerProtocolHandler/Web-based_protocol_handlers +/ja/docs/Web-based_protocol_handlers /ja/docs/Web/API/Navigator/registerProtocolHandler /ja/docs/Web-d/Guide/CSS/Getting_started /ja/docs/Learn/CSS /ja/docs/Web-d/Guide/CSS/Getting_started/Boxes /ja/docs/Learn/CSS/Building_blocks/The_box_model /ja/docs/Web-d/Guide/CSS/Getting_started/Cascading_and_inheritance /ja/docs/Learn/CSS/Building_blocks/Cascade_and_inheritance @@ -2971,6 +2971,7 @@ /ja/docs/Web/API/Navigator/Online_and_offline_events /ja/docs/Web/API/Navigator/onLine /ja/docs/Web/API/Navigator/battery /ja/docs/Web/API/Navigator/getBattery /ja/docs/Web/API/Navigator/mozIsLocallyAvailable /ja/docs/Web/API/Navigator +/ja/docs/Web/API/Navigator/registerProtocolHandler/Web-based_protocol_handlers /ja/docs/Web/API/Navigator/registerProtocolHandler /ja/docs/Web/API/NavigatorID /ja/docs/Web/API/Navigator /ja/docs/Web/API/NavigatorID/appCodeName /ja/docs/Web/API/Navigator/appCodeName /ja/docs/Web/API/NavigatorID/appName /ja/docs/Web/API/Navigator/appName diff --git a/files/ja/_wikihistory.json b/files/ja/_wikihistory.json index 8d7cd239a4f451..ac481062da6dfe 100644 --- a/files/ja/_wikihistory.json +++ b/files/ja/_wikihistory.json @@ -10725,16 +10725,6 @@ "Norah" ] }, - "Web/API/Navigator/registerProtocolHandler/Web-based_protocol_handlers": { - "modified": "2019-03-23T23:53:21.069Z", - "contributors": [ - "mfuji09", - "chrisdavidmills", - "ethertank", - "Mgjbot", - "Potappo" - ] - }, "Web/API/Navigator/sendBeacon": { "modified": "2020-10-15T21:51:51.220Z", "contributors": ["mfuji09", "nomeaning777", "taise", "__ku"] diff --git a/files/ja/web/api/navigator/registerprotocolhandler/web-based_protocol_handlers/index.md b/files/ja/web/api/navigator/registerprotocolhandler/web-based_protocol_handlers/index.md deleted file mode 100644 index 652a0166ff7a2f..00000000000000 --- a/files/ja/web/api/navigator/registerprotocolhandler/web-based_protocol_handlers/index.md +++ /dev/null @@ -1,131 +0,0 @@ ---- -title: ウェブベースのプロトコルハンドラー -slug: Web/API/Navigator/registerProtocolHandler/Web-based_protocol_handlers ---- - -## 背景 - -ウェブページで `http` ではないプロトコルを使用したリソースへのリンクを見つけることがよくあります。例えば、 `mailto:` プロトコルです。 - -```html -ウェブマスター -``` - -ウェブ制作者は、ユーザーがウェブページから直接 E メールを送るのに便利な方法を提供したいときに、 `mailto:` リンクを用いることができます。リンクがアクティブ化されたとき、ブラウザーは、E メールを扱うための標準のデスクトップアプリケーションを起動させるはずです。これは、デスクトップベース プロトコルハンドラーと考えることができます。 - -ウェブベースプロトコルハンドラーは、ウェブベースアプリーケーションもその処理に追加することを可能にします。これはアプリケーションをウェブに移行させるうえでますます重要になってきています。実際、 `mailto` リンクを処理できる可能性がある多くのウェブベースの E メールを扱うアプリケーションが存在しています。 - -## 登録 - -ウェブアプリケーションをプロトコルハンドラーとして設定するのは、難しい処理ではありません。基本的に、ウェブアプリケーションは自身を指定したプロトコルのための可能なハンドラーとしてブラウザーに登録するために [`registerProtocolHandler()`](/ja/docs/Web/API/Navigator/registerProtocolHandler) を使用します。 - -```js -navigator.registerProtocolHandler( - "web+burger", - "http://www.google.co.uk/?uri=%s", - "Burger handler", -); -``` - -ここでの引数は次の通りです。 - -- プロトコル。 -- URL のテンプレート。 "%s" は、リンクの `href` 属性の値に置換され、 GET が置換後の URL に対して実行されます。 -- プロトコルハンドラーのためのユーザーにわかりやすい名前。 - -ブラウザーがこのコードを実行するとき、ユーザーにプロンプトを表示し、そのプロトコルのためのハンドラーとしてそのウェブアプリケーションを登録して良いかどうかの許可を求めるはずです。 Firefox は、情報バー領域に以下のプロンプトを表示します。 - -![](protocolregister.png) - -> [!NOTE] -> URL テンプレートが提供されるとき、登録する URL は登録が行われようとするウェブページと同じドメインである**必要があります**。異なるドメインであった場合は、登録は失敗します。 例えば `http://example.com/homepage.html` では `http://example.com/handle_mailto/%s` はプロトコルハンドラーとして登録可能ですが、 `http://example.org/handle_mailto/%s` はプロトコルハンドラーとして登録することはできません。 - -同じプロトコルハンドラーを 2 回以上登録すると、そのプロトコルハンドラーが既に登録済みであることを示す別のポップアップが表示されます。従って、プロトコルハンドラーの登録を呼び出すのを防ぐために、以下のように既に登録済みであるかどうかを確認するのが良いでしょう。 - -### 例 - -```js - - -
-このウェブページは、 web+burger:
プロトコルのためのウェブプロトコルハンドラーをインストールします。
- 前にこれを見たことがありますか? -
- - -``` - -## 処理 - -次の段階は、アクションを処理することです。ブラウザーはアクティブ化されたリンクから `href` 属性の値を展開し、ハンドラー登録時に提供された URL テンプレートと結合し、その URL 上で HTTP GET を行います。ですから、上記の例では、ブラウザーは、次の URL 上で GET を行います。 - -``` -http://www.google.co.uk/?uri=web+burger:cheeseburger -``` - -サーバー側コードは、クエリー文字列の引数を展開し、要求されたアクションを行います。 - -> [!NOTE] -> サーバー側コードには `href` 属性の値の**全体**が渡されます。つまり、サーバー側コードは、そのデータからプロトコルを解釈しなければならないということです。 - -### 例 - -```php - - - - - -このウェブページは、 web+burger:
プロトコルアクションを処理したときに呼び出されます。送られたデータは次の通りです。