JavaScriptでプロトコルが有効かどうかを確認する方法[重複]
-
15-11-2019 - |
質問
特定のソフトウェア (非ブラウザベース) は、インストール時にカスタム プロトコルをインストールします。したがって、ソフトウェアがシステムにインストールされている場合は、次のようなリンクを配置します。
<a href="mycustomprotocol:///foobar">Launch the program!</a>
Web ページ内でクリックするとソフトウェアが起動します (もちろん警告を表示した後)。
ソフトウェアがインストールされていない場合は、ブラウザが起動しようとしないように要素を動的に変更したいと考えています。
JavaScriptでプロトコルが有効かどうかを検出する方法はありますか?少なくとも Firefox、IE、Chrome、Safari で動作することを望みます。
ありがとう
解決
JavaScript がユーザーのデスクトップ ファイル システムやレジストリにアクセスしてカスタム プロトコルを検証する方法はありません。
他のヒント
window.onError イベントまたはサポートされている場合は a.onError イベントでエラーをキャッチしてから、代わりに JavaScript を使用してフォールバック URL に移動することができます。
JavaScript でアクセスできるのは次のとおりです navigator.plugins
これにより、どのようなプラグインがインストールされているかがわかります。これの問題は、ブラウザ自体がプロトコルを処理する方法を知らない場合、ブラウザはそのプロトコルを OS に渡して処理することです。また、OS にインストールされているさまざまなプロトコル ハンドラーを JavaScript 経由ですべて見つけることはできません。
つまり、言い換えると次のようになります。いいえ...
所属していません StackOverflow