dr.Brain

doctor Brain

мир глазами веб-разработчика

JavaScript: определяем броузер

определяем броузер пользователя с помощью JavaScript

dr.Brain

время чтения 1 мин.

Photo by Chandler Cruttenden on Unsplash

Кажется, что узнать, в каком броузере находится текущая сессия пользователя, довольно просто. Ведь именно для этого предназначено свойство userAgent объекта navigator

Но выражение:

console.log(window.navigator.userAgent)

вернет строку, подобную:

Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Mobile Safari/537.36

Таким образом, мы видим, что userAgent возвращает полную строку пользовательского агента, которую броузер предоставляет в HTTP-заголовках.

Конечно, можно написать функцию, которая позволит определить броузер пользователя:

function detectBrowser() {
    const userAgent = navigator.userAgent.toLowerCase();
 
    if (userAgent.indexOf('firefox') != -1) {
        return 'Firefox';
    } else if (userAgent.indexOf('chrome') != -1) {
        return 'Chrome';
    } else if (userAgent.indexOf('safari') != -1) {
        return 'Safari';
    } else if (userAgent.indexOf('opera') != -1 || userAgent.indexOf('opr') != -1) {
        return 'Opera';
    } else if (userAgent.indexOf('msie') != -1 || userAgent.indexOf('trident') != -1) {
        return 'Internet Explorer';
    } else {
        return 'Unknown';
    }
}
 
console.log(detectBrowser());

Однако, определение клиентского броузера, построенное на использовании navigator.userAgent зачастую вводит нас в заблуждение, так как пользователь может самостоятельно подменить получаемую строку или использовать стороннее расширение, влияющее на результат.


Спасибо за внимание.

Новые публикации

Далее

Категории

О нас

Frontend & Backend. Статьи, обзоры, заметки, код, уроки.