3

カスタム URL プロトコル リンクを含むページがあります。ユーザーが exe をインストールすると、カスタム URL プロトコルがユーザーのシステムに登録されます。ユーザーが Web ページのカスタム URL プロトコル リンクをクリックすると、その exe が起動します (現在はすべて正常に動作しています)。しかし、そのリンクをクリックしたときに、まだ exe をローカルにインストールしていない場合は、ブラウザーに標準エラー ページが表示されます。そのため、ローカルの exe がない場合は、代わりに、exe をダウンロードする必要があることを伝えるカスタム エラー ページをブラウザーに表示してもらいます。リンクがクリックされたときにJavaScriptがそのエラーをリッスンし、エラーがある場合はカスタムエラーページを表示するのと同じくらい簡単だと思います。しかし、私はそれを行う方法がわかりません。エラーページには「Webページを表示できません。最も可能性の高い原因:

4

2 に答える 2

3

プロトコルがインストールされているかどうかを判断するテスト関数を作成することをお勧めします。

  1. プロトコルを使用して、ページからテストページにAJAX呼び出しを行います。
  2. これがエラーなしで成功した場合、ページの残りの部分はこのプロトコルを安全に使用できます。
  3. AJAX呼び出しが失敗した場合は、プロトコルがインストールされていないことがわかります。

Jqueryは、このアプローチを簡単に機能させます。テスト関数の成功/失敗に応じて、リンクのURLを動的に変更することもできます。リンクを作成して、ユーザーがプロトコルハンドラーをインストールする必要があることを警告するポップアップを作成できます。

于 2012-11-26T17:53:32.793 に答える
0

404 は HTTP ステータス コードであるため、カスタム プロトコルを呼び出すときにそれが期待できるとは思えません。フックしてみるかもしれませんがwindow.onerror、それがうまくいった場合はちょっと驚きます.

同様の状況で私が行ったことは、インストールにブラウザープラグインを含めることです。次に、ユーザーが呼び出しを試みる前に、ハンドラーがインストールされているかどうかをスクリプトから確認できます。また、プラグインにインストール済みのバージョンを報告させることもできるので、ユーザーにアップグレードを促すことができます。欠点は、サポートされているブラウザーを制限したくない場合、複数のプラグイン モデルとアーキテクチャを処理する必要があることです。

于 2013-10-16T23:01:05.677 に答える