2009-08-24 6 views
1

私はw3schoolsでbrowser recognition tutorialをやっていました。私はfirefoxとgoogle chromeを使っているときにNetscape 5を自分の結果として受け取っていました。私はなぜこれが好奇心であったのですか?私にそれを説明する人は誰も気にしない?JavaScriptのブラウザの認識

+6

w3schoolsは、Web技術に関する情報源のようなものではありません。それはかなり古いです。さらに、あなたが行っていることを他の方法で行うことが絶対に確実でない限り、ブラウザの盗聴を行うのは良い考えではありません。フィーチャースニッフィングが優れています。 – Breton

答えて

4

私はBrowser Object Modelについては、この記事では、基本的に、あなたの質問に答えると思います。基本的には、navigatorオブジェクトは役に立たず、誰もそれを更新するのは面倒ではありません。 FirefoxはNetscapeに根ざしており、これらのプロパティは単に更新されていません。 (注:にはなぜが更新されたことはありませんが、まだ見つかりませんでした)。

あなたがw3cでフォローしているチュートリアルは古くなっています。非常に古いブラウザ検出方法を使用していますが、これはまったく機能しません。 A better version is hereですが、この方法でさえもはや推奨されません。これらのプロパティはすべてスプーフィングされる可能性があり、非常に単純な信頼性がありません。

ブラウザを識別する一般的な方法は、object detectionと呼ばれる技術であり、ブラウザの機能で本質的にポークし、実行可能な機能や存在する特定のオブジェクトに基づいて識別します。

MooToolsやJQueryなどの最新のライブラリでは、このオブジェクトと機能の検出をすべて行うことで、ブラウザの識別を非常に簡単できれいにすることができます。 MooToolsにはBrowserオブジェクトがあり、JQueryにはjQuery.browserがありますが、現在では非推奨でjQuery.supportになっています。

+0

@ Zombat:あなたは数秒で私を倒しました。でも、私はバージョンがquirksmodeサイトで利用可能であることをお勧めします。 :) – kayteen

+0

@kayteen - ええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええ投稿者: – zombat

0

この話題にも有用であることがあります

When IE8 is not IE8 what is $.browser.version?

他のコメントのいくつかをエコーし​​ます。ユーザーエージェントを使用したブラウザの盗聴は信頼できません。オブジェクトの検出と機能の検出は道のりです

関連する問題