12

私はjavaScriptコードを開発しており、クライアントのブラウザのバージョンとブランドを特定したいのですが、これを行うために使用しているコードは次のとおりです。

var browserName ; 
function BrowserCheckin () 
{

    if(navigator.userAgent.indexOf("Mozilla") > 0 )
        browserName = "Mozilla" ;
    if (navigator.userAgent.indexOf("MSIE") > 0 )
        browserName = "InternetExplorer";
    if (navigator.userAgent.indexOf("Chrome") > 0)
        browserName= "Google Chrome" ; 
    if(navigator.userAgent.indexOf("Opera") > 0 ) 
        browserName = "Opera" ; 
    document.write("<h1>"  + browserName + "</h1>") ;
}

しかし、「Google Chrome」を使用してコードを実行すると、useAgent プロパティは以下を含む文字列を返します。

"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.30 (Gecko のような KHTML) Chrome/12.0.742.112 Safari/534.30 "

しかし、その「Mozilla/5.0」がそこで何をしているのかわかりません。誰かアイデアがありますか?
(そしてもう1つ、オペレーティングシステムとしてLinuxを使用しています)

前もって感謝します :)

4

2 に答える 2

21

歴史的な理由から、ほぼすべてのブラウザー (Opera を除く)Mozilla/はユーザー エージェントの先頭に追加します。

たとえば、いくつかの一般的なユーザー エージェントを次に示します。

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.30 (KHTML, like Gecko)
            Chrome/12.0.742.112 Safari/534.30                    # Chrome 12
Mozilla/5.0 (X11; Linux x86_64) Gecko Firefox/5.0                # FF 5
Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US)        # IE 9
Opera/9.80 (Windows NT 5.1; U; en) Presto/2.8.119 Version/11.10  # Opera 11.10

詳細なリストについては、オンライン データベースを参照してください。

于 2011-08-13T12:54:00.890 に答える
2

これ、Chrome のユーザー エージェント文字列です。歴史的な理由から、名前に Mozilla が含まれています。さらに面白いのは、Internet Explorer のユーザー エージェント文字列に Mozilla が表示されている場合です:)

このリンクには Chrome の UA 文字列が含まれています。役に立つかもしれません: http://www.useragentstring.com/pages/Chrome/

于 2011-08-13T12:54:12.580 に答える