Определение браузера на Javascript
Бывает, что функция работает некорректно в одном из браузеров или вы просто хотите вывести сообщение для пользователей, использующих, к примеру, браузер Opera. Данный мини-урок покажет вам, как легко поймать название браузера, с которого сидит посетитель вашего сайта
Для начала посмотрите ДЕМО
Моё тестирование в редакторе: КЛИК
На самом деле всё исключительно просто. Для того, чтобы, к примеру, выполнить функцию только для браузера Mozilla Firefox, достаточно создать вот такое условие:
1 2 3 |
if (navigator.userAgent.search(/Firefox/) > 0) { // Здесь что-угодно только для браузера Mozilla Firefox }; |
Чтобы определить, каким браузером пользуется посетитель и вывести его название, мы можем использовать вот такой перебор:
1 2 3 4 5 6 7 8 9 10 11 12 |
var a; if (navigator.userAgent.search(/Safari/) > 0) {a = 'Safari'}; if (navigator.userAgent.search(/Firefox/) > 0) {a = 'MozillaFirefox'}; if (navigator.userAgent.search(/MSIE/) > 0 || navigator.userAgent.search(/NET CLR /) > 0) {a = 'Internet Explorer'}; if (navigator.userAgent.search(/Chrome/) > 0) {a = 'Google Chrome'}; if (navigator.userAgent.search(/YaBrowser/) > 0) {a = 'Яндекс браузер'}; if (navigator.userAgent.search(/OPR/) > 0) {a = 'Opera'}; if (navigator.userAgent.search(/Konqueror/) > 0) {a = 'Konqueror'}; if (navigator.userAgent.search(/Iceweasel/) > 0) {a = 'Debian Iceweasel'}; if (navigator.userAgent.search(/SeaMonkey/) > 0) {a = 'SeaMonkey'}; if (navigator.userAgent.search(/Edge/) > 0) {a = 'Microsoft Edge'}; alert(a); // В переменной a будет название браузера |
Если какие-то браузеры определяются некорректно, просто допишите условие для этого браузера в самый низ
Полное название браузера можно получить, просто выведя в нужное вам место вот это:
1 |
navigator.userAgent |
Возникли вопросы? Оставьте их в комментариях
Эмм, а в тесте opera определяется как хром
Наверное потому что опера теперь работает на хромиуме
половина браузеров на нем...
В одной из версий изменили уникальный ID и теперь не Opera, а OPR идентификатор. Материал и демки отредактировал
Спасибо, только ваш код нормально и заработал, остальные неверно chrome определяли.