Как узнать браузер пользователя в JavaScript
![Как узнать браузер пользователя в JavaScript](/images/articles/javascript-brauzer.jpg)
Существует достаточно большое количество браузеров, а также их версий. И проблема в том, что одни браузеры позволяют выполнить определённый скрипт, а другие не позволяют. Встаёт вопрос: а как узнать браузер пользователя в JavaScript, чтобы через условие решить: надо выполнять скрипт или нет. И о том, как определить имя и версию браузера пользователя я и напишу в этой статье.
Для таких целей существует объект Navigator, а точнее два его свойства: appName и appVersion. Давайте для начала выведем название браузера пользователю:
document.write("Вы используете браузер " + navigator.appName);
В результате Вы увидите имя браузера пользователя. Также огромное значение оказывает не только сам браузер, но и его версия. И для таких случаев используется свойство appVersion:
document.write("Версия Вашего браузера " + navigator.appVersion);
Свойства appName и appVersion доступны только для чтения (это и логично), поэтому изменить их у Вас не получится. Теперь встаёт вопрос, а как использовать их в операторе IF:
var browser = navigator.appName;
if (browser == "NetScape")
document.write("Тут можно выполнять скрипты для обладателей браузеров NetScape");
Надеюсь, что я ответил на Ваш вопрос: "Как узнать имя и версию браузера в JavaScript".
Удачи!
-
-
Михаил Русаков
Комментарии (10):
И для FFox напишет Netscape
Ответить
Для отличий от FF и Netscape можно использовать это свойство: window.navigator.userAgent
Ответить
У меня та же фигня! Тестирую в Google Chrome, сначала написал navigator.appName мне написало, что я сижу через NetScape, потом поменял на window.navigator.userAgent мне написал, что я сижу через Mozila. Что за фигня и как это исправить?
Ответить
Проблем при определении браузера много, чтобы узнать, что это chrome, нужно анализировать navigator.appVersion. Для других браузеров могут быть другие свойства (appName или appCodeName).
Ответить
Ну и как это сделать?
Ответить
Выведите сначала, посмотрите на значение, а дальше используйте функции для работы со строками.
Ответить
Ну я уже понял как.
Ответить
С navigator.appName только Opera и IE нормально работают, остальные пишут NetScape, а с window.navigator.userAgent только Opera, остальные пишут Mozila
Ответить
Сообщение выше.
Ответить
Я думаю, что скрипт выдаёт Netscape потому что очень много браузеров основано на Netscape. В том числе и FF, последние версии Netscape полностью основаны на FF, и, по сути, являются слегка переделанными FF. Вот тут http://detectmobilebrowsers.com/ есть скрипты для определения мобильных браузеров. Там прописаны почти все возможные браузеры)
Ответить
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.