Почему «navigator.userAgent» в javaScript возвращает строку «Mozilla» при попытке в браузере Google Chrome? - PullRequest
12 голосов
/ 13 августа 2011

Я занимаюсь разработкой кода 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 (KHTML, как Gecko) Chrome / 12.0.742.112 Safari / 534.30"

Но я не понимаю, что там делает" Mozilla / 5.0 ", у кого-нибудь есть идея?
(и еще одна вещь, я использую Linux в качестве своей операционной системы)

Заранее спасибо :)

Ответы [ 2 ]

20 голосов
/ 13 августа 2011

По историческим причинам , почти все браузеры (кроме 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

Для получения подробного списка см. онлайн базы данных .

2 голосов
/ 13 августа 2011

То, что является строкой пользовательского агента для Chrome. У этого есть Мозилла в имени по историческим причинам. Еще смешнее, когда вы видите Mozilla в строке пользовательского агента для Internet Explorer:)

Эта ссылка содержит строки UA для Chrome, вам может быть полезно: http://www.useragentstring.com/pages/Chrome/.

...