9

これは検出器です: http://w3schools.com/js/tryit.asp?filename=try_nav_all

Chrome、Firefox、Safari 、およびNetscape では、ブラウザのコードネームは常に Mozilla、ブラウザ名は Netscape として表示されます。ブラウザによって変わるんじゃないの?

興味がある場合は、コードとさまざまな出力を次に示します。

コード:

document.write("Browser CodeName: " + navigator.appCodeName);
document.write("<br /><br />");
document.write("Browser Name: " + navigator.appName);
document.write("<br /><br />");
document.write("Browser Version: " + navigator.appVersion);
document.write("<br /><br />");
document.write("Cookies Enabled: " + navigator.cookieEnabled);
document.write("<br /><br />");
document.write("Platform: " + navigator.platform);
document.write("<br /><br />");
document.write("User-agent header: " + navigator.userAgent);

クロム出力:

Browser CodeName: Mozilla

Browser Name: Netscape

Browser Version: 5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.224 Safari/534.10

Cookies Enabled: true

Platform: Win32

User-agent header: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.224 Safari/534.10

ファイアフォックス出力:

Browser CodeName: Mozilla

Browser Name: Netscape

Browser Version: 5.0 (Windows; es-ES)

Cookies Enabled: true

Platform: Win32

User-agent header: Mozilla/5.0 (Windows; U; Windows NT 6.1; es-ES; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12 

サファリ出力:

Browser CodeName: Mozilla

Browser Name: Netscape

Browser Version: 5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.19.4 (KHTML, like Gecko) Version/5.0.3 Safari/533.19.4

Cookies Enabled: true

Platform: Win32

User-agent header: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.19.4 (KHTML, like Gecko) Version/5.0.3 Safari/533.19.4

ネットスケープ出力:

Browser CodeName: Mozilla

Browser Name: Netscape

Browser Version: 5.0 (Windows; en-US)

Cookies Enabled: true

Platform: Win32

User-agent header: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.7.2) Gecko/20040804 Netscape/7.2 (ax)
4

2 に答える 2

11

おそらくそうすべきですが、それは彼らが達成しようとしていることに依存します.

しかし、それは機能の検出を支持して、ブラウザの検出が不評になった理由を示しているだけです。ブラウザ検出コードは信じられないほど早く古くなります。一方、特徴検出は時代を超越したものです。

例:ブラウザが IE かどうか確認し、そうであれば、ブラウザにArray.prototype.indexOf. しかし、その後IE9が登場して追加されましたが、マグカップのように、「IE」にはないと思うので、自分のバージョンをまだ使用しています。ブランドが何であるかをあまり気にせずに、実行している実装に存在するかどうかを実際に確認する方がはるかに優れています。そしてもちろん、機能検出は私が聞いたことのないブラウザーでも機能します。ブラウザの検出は失敗し、完全に任意の「デフォルト」にフォールバックします。

を実行するほど簡単ではない場合もありますif (Array.prototype.indexOf)が、通常は可能です。Juriy Zaytsev ( kangax ) は、特徴検出に関する素晴らしいリストを持っています。

(補足: ほぼすべてのブラウザが (あるレベルで) 自分が「Mozilla」であると主張しています。なぜなら、一部のサイトでは Microsoft ブラウザよりも優先される Netscape ブラウザ (そう、ずっと前から) を簡単に使用しており、確認のためにブラウザ検出を行っていたからです。)

于 2010-12-23T22:57:14.067 に答える
3

まず、Quirksmode の BrowserDetect スクリプトは真の逸品であり、おそらく現在使用しているものよりも優れていることがわかりました。

ウィキペディアでは、ユーザー エージェント文字列はほとんど常に「Mozilla」で始まると説明しています。

上記に基づいて、Web ブラウザーで使用される非公式の形式は次のとおりです: Mozilla/[バージョン] ([システムとブラウザーの情報]) [プラットフォーム] ([プラットフォームの詳細]) [拡張子]。

しかし、すべてのブラウザが「Mozilla」であると主張している理由を説明するには、1990 年代のブラウザ戦争までさかのぼる必要があります... webaim.org のこの記事から:

[...] その後、「Mosaic Killer」の略である「Mozilla」として知られる新しい Web ブラウザが登場しましたが、Mosaic は面白がらなかったため、公開名が Netscape に変更され、Netscape はそれ自体を Mozilla/1.0 (Win3.0) と呼びました。 1) [...] [...] そしてマイクロソフトはいらいらし、Web マスターが IE について知り、フレームを送信し始めるのを待ちたくありませんでした。そして、Microsoft は IE を Windows とともに販売し、Netscape よりも優れたものにしました。土地。そして見よ、Netscape は殺され、Microsoft には多くの歓喜が起こった。しかし、Netscape は Mozilla として生まれ変わり、Mozilla は Gecko を構築し、Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1. 1) Gecko/20020826、Gecko はレンダリング エンジンであり、Gecko は優れていました。Mozilla は Firefox になり、Mozilla/5.0 (Windows; U; Windows NT 5.1; sv-SE; rv:1.7.5) Gecko/20041108 Firefox/1.0 と呼ばれ、Firefox は非常に優れたものでした。そして Gecko は増殖し始め、そのコードを使用する他のブラウザーが誕生し、Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.7.2) Gecko/20040825 Camino と名乗りました。 /0.8.1 と Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.8) Gecko/20071008 SeaMonkey/1.0 がそれぞれ Mozilla のふりをしており、すべて Gecko を使用しています。[...] そして Gecko は増殖し始め、そのコードを使用する他のブラウザーが誕生し、Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.7.2) Gecko/20040825 Camino と名乗りました。 /0.8.1 と Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.8) Gecko/20071008 SeaMonkey/1.0 がそれぞれ Mozilla のふりをしており、すべて Gecko を使用しています。[...] そして Gecko は増殖し始め、そのコードを使用する他のブラウザーが誕生し、Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.7.2) Gecko/20040825 Camino と名乗りました。 /0.8.1 と Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.8) Gecko/20071008 SeaMonkey/1.0 がそれぞれ Mozilla のふりをしており、すべて Gecko を使用しています。[...]

記事全体を読む必要があります。それは有益で面白いものです。しかし、長いので、ユーザーエージェント文字列を解析する必要があります。ほとんどすべて「Mozilla / something」と言っているからです。

于 2010-12-23T23:01:59.263 に答える