DOM

インターフェイス

NavigatorContentUtils(mixin)

  編集:2022.04.07 by T.A.

MS✖

window . navigator . registerProtocolHandler( scheme, url )
url における scheme 用のハンドラーとして、handler を登録する。例えば、オンライン電話メッセージ用サービスは、自身を sms: スキーム用のハンドラーとして登録することもできる ― 利用者がそのようなリンクをクリックしたときに、その web サイトを利用する機会が与えられるように。[SMS]

url 内の文字列 "%s" は、[取り扱われることになる内容の URL]に置き換えられる仮入力として利用される。

ユーザー・エージェントが登録を阻止する場合、SecurityError 例外が投出される(一例として、http 用のハンドラーを登録しようと試行した場合)。

url 内に文字列 "%s" が見当たらない場合、SyntaxError 例外が投出される。

window . navigator . unregisterProtocolHandler( scheme, url )
引数で記述されるハンドラーを未登録にする。

ユーザー・エージェントが未登録にするのを阻止する場合、SecurityError が投出される(一例として、スキームが妥当でない場合に起こり得る)。

url 内に文字列 "%s" が見当たらない場合、SyntaxError 例外が投出される。

利用者が サイト https://example.com/ を訪問している間に、次が call されたとする:
navigator.registerProtocolHandler('web+soup', 'soup?url=%s')

しばらく経ってから https://www.example.net/ を訪問している間、次のようなリンクをクリックしたとする:

<a href="web+soup:chickenkïwi">チキンのキーウィスープをダウンロードする</a>

このとき、ユーザー・エージェントは、次の URL へナビゲートするであろう:

"https://example.com/soup?url=web+soup:chicken-k%C3%AFwi"

このサイトは、何であれ soup についての何かを行うこともできる(それを合成した上で,利用者に送るなど)。

これは、当のハンドラがいつ利用されるかは、定義しない。文書間をナビゲートするときの処理モデルは、関連する事例を ある程度定義するが、一般に、[さもなければ、ネイティブ・プラグインやヘルパー・アプリケーションにスキームを手渡すことを考慮することになる所]では、ユーザー・エージェントは、この情報を利用してもよい。