Почему "navigator.userAgent" в javaScript возвращает строку "Mozilla" при попытке в браузере Google Chrome?
Я занимаюсь разработкой кода 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 ответа
По историческим причинам почти все браузеры (кроме 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
Подробный список можно найти в онлайн- базах данных.
Это строка агента пользователя для Chrome. У этого есть Мозилла в названии по историческим причинам. Еще смешнее, когда вы видите Mozilla в строке пользовательского агента для Internet Explorer:)
Эта ссылка содержит строки UA для Chrome, вы можете найти ее полезной: http://www.useragentstring.com/pages/Chrome/.