2012-02-09 9 views
1

私は非常にクールなChrome拡張機能で作業を始めましたが、少し問題がありました。ユーザーに自分のChrome拡張機能がインストールされているかどうかを検出しますか?

私はユーザーがリンクを共有できるようにしたいと考えています。このリンクを共有することで、他のユーザーが自分の内線番号で情報を取得することができます。

問題は、ユーザーが共有リンクをクリックしたときに、Chrome拡張機能がブラウザにインストールされているかどうかを確認したい場合です。そうであれば、私の拡張機能をダウンロードするようにリダイレクトしたいと思います。

どのようにすればいいですか?

答えて

0

ロードするすべてのページのDOMに非表示要素を追加し、一意のIDでマークします。ユーザーがそのリンクをクリックすると、javascriptを実行してその要素をチェックします。存在しない場合は、拡張機能がインストールされていないことがわかります。

+0

ありがとうございます!私はこれを使用して、それは素晴らしい作品:) – dsternlicht

1

1つの可能性は、拡張機能ですべてのサイト*にコンテンツスクリプトを実行させ、クリックイベントのリスナーをdocumentに追加することです。 event.targetを確認して、それがリンクであることを確認し、特定の接頭辞を持っている場合は、preventDefaultメソッドを呼び出してその処理を行います。拡張機能がないユーザーの場合、リンクはもちろん他のリンクと同様に動作します。

*これにより、拡張機能のインストール時に潜在的なユーザーに警告が表示されます。詳細についてはPermission Warningsをお読みください。

0

私はあなたがHTTPリクエストのヘッダーを設定/変更できなければならないと思います(Chrome 17以降)。要求にヘッダーを追加すると、サーバー側の拡張機能の存在を検出できることを意味します。

これはまったく重要です。多くの拡張機能/プラグインは、歴史的にUser-Agentヘッダーを変更しています。

関連する問題