2010-11-18 11 views
5

私はウェブサイトを持っていて、ほとんどのウェブサイトのようなオフコースはFirefoxでより速く読み込みます。Javascriptで信頼性の高いブラウザ検出?

私はFFのないユーザーがサイトに入るたびに、自分のサイトの上に表示されるバーのフォームを作成したいと思います。 このバーは、「パフォーマンス向上のためにFFをインストールする」などのようになります。

どうすればよいですか?ブラウザの検出私は推測しますが、そこにはたくさんの異なるコードがあります。あなたが知っているすべてのコードは、より信頼性が高く使いやすくなっていますか?

私のウェブサイトにこのようなバーを持っているMozillaの許可が必要かどうかは誰にも分かりますか?

おかげ

EDIT:FF最速ブラウザではありませんが、私はそれを得ました!

+0

IQの間奏を行うすべてをしないよう、私は長い時間で見た中で最高のは、あなたのチェックのブラウザとバージョンをすることができます。この記事の皆さん

http://www.quirksmode.org/js/detect.html

ためのOK ! FirefoxはLynxにフェラーリとして......。 – thomaspaulb

+2

...超音速戦闘機。 – Quentin

+3

... 80x25テキストベースのレーダー画面。 – thomaspaulb

答えて

10

(何がやりたいことは良いか悪いことであるかどうかにすべての引数をスキップします。本当にFirefoxのようにあなたを仮定し、それを促進します。)

  1. navigatorオブジェクトを使用しますブラウザがFirefoxであることを確認してください。 navigator.appCodeName,navigator.appName,navigator.appVersion。あなたがしたいことはあなたのウェブサイトの重要な部分ではないので、フェールセーフの検出方法は必要ありません。ターゲットユーザーの95%以上がこの方法より優れている場合は、この方法が有効です。

  2. 私は、無料の製品を宣伝するための許可が必要かどうか疑いがあります。 Mozillaでもencouragesあなたはそうする。

1

私はそれは良い考えだとは思わない。 ChromeやSafariなどの他のブラウザはどうですか?現在のところ、ChromeはFirefox(Sunspiderテスト)よりも速いため、「Firefoxでの読み込み速度が速い」という記述は実際には正しくありません。何よりも速い?あなたがIEを意味するならば、IEを使用せずに何か他のものに切り替えるようにユーザに警告するためのウェブの周りにすでに解決策があります。あなたは1つのブラウザだけを優遇するべきではありません。

+0

ウェブページによっては、FFでより速くマインドロードできます。そしてそれは私が後になっているスピードだけではなく、FFはクロムよりも優れた仕事をしています。私は経験が豊富です。 –

+3

あなたのウェブサイトは一意の雪片ではありません。ブラウザの機能を凌駕する技術デモでない限り(この場合、「Demonstration of Firefox's new -moz-smell property」のようなタイトルを聴衆に認識させるほどスマートである)、ブラウザを切り替えるつもりはない私は、一般的に、かなり遅いと思われる)は、おそらくあなたのサイトをレンダリングする際に私の好みのブラウザより速くなります。遅い部分がどこにあるのかを見つけて改善するために、他のブラウザで使用しているJSをプロファイリングするなど、パフォーマンスを向上させるために時間を費やす方がよいでしょう。 – Quentin

6

jQuerybrowser detectionです。

しかし、jQueryの開発者は、ブラウザでは選択しないでくださいが、ブラウザでどの機能がサポートされているかを主張しています。彼らは代わりにbrowser feature detectionをお勧めします。意味をなさない

+0

これはjQuery 1.9で削除されました。 –

2

私は、ブラウザの検出は、いくつかの問題を解決する正しい方法ではないと思います。コードが他のブラウザで遅い場合は、最初に理由を調査し、コードを整理して最適化し、解決しなければ、オプションで他のブラウザの機能を減らすことができます。

しかし、彼はそのコンピュータ

+0

ok、downvoteの問題はありません。これは私が本当に考えるものです。ブラウザの検出は、少なくとも私にとっては最後の選択肢です。私はカーペットの下にほこりを隠すのが好きではない –

4

全く100%信頼できるブラウザ検出はありませんにインストールする必要がありますどのようなユーザーを示唆して避けてください。 navigatorオブジェクトによって提供されるuserAgent文字列へのアクセスは信頼できませんが、ユーザによって偽装される可能性があります。特別なブラウザにのみ存在するいくつかのプロパティへのアクセスは今は信頼できるものの、将来的には信頼できないかもしれません。なぜなら、別のブラウザがこのプロパティを適用するか、

+2

ユーザーがuserAgentを偽造した場合、彼はブラウザを変更する意思がないことは明らかです。この場合、検出は必要ありません。この検出はプロモーションにのみ必要であることに注意してください。 Firefoxは実際にサイトを表示する必要はありません。 –

4

これは、あなたの質問に答えられないかもしれないが、あなたはこのようなあなたのHTMLコードに条件付きコメントを行うことができます。

http://www.quirksmode.org/css/condcom.html

あなたが任意のIEのバージョンを検出するために、このコードを使用することができます。

Mozilla Foundationに雇われていない限り、ChromeとSafariなどのブラウザを使用しているユーザーにこのメッセージを通知する必要はありません。彼らは積極的な選択をして、独自のブラウザを選んだ。これは、選択肢を知らないほとんどのIEユーザーについては言えない。 主に、Internet Explorerが問題です。

申し訳ありませんが、これは少し話題外で、それが全く役に立たなかった場合です。道徳的な暴言の

/終了;)

2

[OK]をので、私が得る-1私は、Firefoxを好きではないので、またはコピーしてペーストするために、私はあなたの手であなたに解決策を与えていないので?さてここであなたは人を行く:

<!--[if IE]> 
Special instructions for IE 
<![endif]--> 

とjQuery

if ($.browser.msie) 
8

にあなたはここにspreadfirefox.comでこのページに興味があるかもしれない:http://www.spreadfirefox.com/affiliates/utw。これには一連のSpread Firefoxボタンが含まれていますが、もっと興味深いのはそれに付属するコードです。あなたがボタンのイメージは、実際にあなたが上に表示され、ブラウザに依存して変化することがわかります:

Javascript codeを見てみるとhttp://sfx-images.mozilla.org/utw/3.6/FF36_36_120x240.png http://sfx-images.mozilla.org/utw/3.6/FF36_FF_120x240.png http://sfx-images.mozilla.org/utw/3.6/FF36_IE_120x240.png http://sfx-images.mozilla.org/utw/3.6/FF36_OTHER_120x240.png

、あなたは彼らがすでにやっていることがわかりますあなたのために働いてください:

/* ********************************************* 
This code came from http://www.quirksmode.org/js/detect.html 
In order for this to function properly, it must be updated regularly 
***********************************************/ 

なぜ、画像やコードで作業するためのコードを変更しないのですか?それとも、まだ完成したものの1つを使うのが良いでしょうか?

関連する問題