NavigatorContentUtils.unregisterProtocolHandler() - プロトコルの関連付けを解除する
unregisterProtocolHandler()は、NavigatorContentUtilsのメソッドです。Webサイトに関連付けたプロトコルを解除します。
概要
- 名前
- unregisterProtocolHandler
- 所属
- NavigatorContentUtils
- IDL
void unregisterProtocolHandler(DOMString scheme, USVString url);
- 仕様書
- https://html.spec.whatwg.org/multipage/system-state.html#dom-navigator-unregisterprotocolhandler
説明
第1引数(scheme)には、解除対象の、プロトコルを表す文字列を指定します。
第2引数(url)には、解除対象の、アプリケーションのURLアドレスを指定します。
チュートリアル
プロトコルの関連付けに関する説明は、registerProtocolHandler()のチュートリアルをご参考下さい。
デモ
NavigatorContentUtils.unregisterProtocolHandler()のデモです。「登録」をクリックする前と後で、「独自プロトコルのリンク」をクリックした時の挙動の違いを確認してみて下さい。最後はお手数ですが、「解除」をクリックして関連付けを設定から削除して下さい。
<!-- このコードは編集できます。 -->
<!DOCTYPE html>
<html>
<head>
<style>
div#result {
white-space: pre-wrap ;
}
</style>
</head>
<body>
<p><a href="web+syncer:JavaScript" target="_blank">独自プロトコルのリンク</a></p>
<hr>
<p><button id="hoge">登録</button></p>
<p><button id="fuga">解除</button></p>
<script>
var element1 = document.getElementById( "hoge" ) ;
var element2 = document.getElementById( "fuga" ) ;
element1.onclick = function () {
navigator.registerProtocolHandler( "web+syncer", "?q=%s", "SYNCERの検索アプリ" ) ;
}
element2.onclick = function () {
navigator.unregisterProtocolHandler( "web+syncer", "?q=%s" ) ;
}
</script>
</body>
</html>
サポート状況
Chrome | Firefox | Safari | Edge | IE | Opera | iOS Safari | Android |
---|---|---|---|---|---|---|---|
● 38+ | × | × | × | × | ● 25+ | × | × |
関連記事
- NavigatorContentUtils.registerProtocolHandler()
- registerProtocolHandler()は、NavigatorContentUtilsのメソッドです。特定のプロトコルとWebサイトのURLアドレスを関連付けます。例えば、"mailto:..."のアドレスで自身のWebアプリを起動させたりできます。クリックイベントの中など、ユーザーの操作によって実行されないといけません。
- WebSocket.protocol
- protocolは、WebSocketのプロパティです。ソケット通信しているサーバー側が許可する、下位プロトコルの情報を返すプロパティです。
- WebSocket()
- WebSocket()は、WebSocketのコンストラクタです。新しいオブジェクトを作成します。
- URL.protocol
- protocolは、URLのプロパティです。オブジェクトのプロトコルを返します。