vlakhvo
@vlakhvo
front-end developer

Почему javascript объект navigation возвращает так много браузеров?

Пытаюсь узнать браузер пользователя. Вывожу значение navigator.userAgent, получаю строку - "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.91 YaBrowser/16.4.0.6174 (beta) Safari/537.36"

Вместо ожидаемого YaBrowser/16.4.0.6174 (beta), как понять какой браузер используется на самом деле?
  • Вопрос задан
  • 339 просмотров
Пригласить эксперта
Ответы на вопрос 4
Defman21
@Defman21
Ответ написан
Комментировать
edli007
@edli007
full stack, team lead
Это приоритеты, типо
я "Mozilla/5.0 (Windows NT 6.3; WOW64)"
не знаешь такого? тогда я "AppleWebKit/537.36 (KHTML, like Gecko)"
не знаешь такого? тогда я "Chrome/49.0.2623.91"
не знаешь такого? тогда я "YaBrowser/16.4.0.6174 (beta)"
не знаешь такого? тогда я "Safari/537.36"

Яндекс браузер использует движок чужого браузера, потому что работает там - работает и в яб. Но большинство программ ничего не слышали про яб, потому он сам себя им презентует как "я Mozilla/5.0 (Windows NT 6.3; WOW64)"
Ответ написан
DIITHiTech
@DIITHiTech
Fullstack javascript developer
А зачем вам узнать какой это браузер? То есть с практической точки зрения что Вам дает эта информация? Есть смысл узнать грубо говоря к какой семье браузер принадлежит, а толку что он YaBrowser, если это тот же Chrome подрисованный?
Если уж очень хочется удивить юзера что вы знаете какой у него браузер, то придется забивать соответствия и приоритеты, что если есть YaBrowser в списке, то это таки YaBrowser, а не Хром. Оно Вам точно надо?=)
Полный список useragentstring
www.useragentstring.com/pages/useragentstring.php
Ответ написан
У меня нету YaBrowser поэтому не уверен но чисто теоретически
navigator.appCodeName
должен вам помочь
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы