как определить браузер и его версию с помощью javascript

Аватар пользователя Ivan Gagarinov
Ivan Gagarinov
5 дней назад

Можно определить с помощью navigator.userAgent. В примере ниже создается функция getBrowserInfo() внутри которой проверяется свойство userAgent с помощью регулярных выражений.

function getBrowserInfo() {
    const userAgent = navigator.userAgent;
    let browserName;
    let fullVersion;

    // Проверка на различные браузеры
    if (userAgent.indexOf("Chrome") > -1) {
        browserName = "Chrome";
        fullVersion = userAgent.substring(userAgent.indexOf("Chrome") + 7);
        fullVersion = fullVersion.substring(0, fullVersion.indexOf(" "));
    } else if (userAgent.indexOf("Firefox") > -1) {
        browserName = "Firefox";
        fullVersion = userAgent.substring(userAgent.indexOf("Firefox") + 8);
    } else if (userAgent.indexOf("Safari") > -1) {
        browserName = "Safari";
        fullVersion = userAgent.substring(userAgent.indexOf("Safari") + 7);
        fullVersion = fullVersion.substring(0, fullVersion.indexOf(" "));
    } else if (userAgent.indexOf("MSIE") > -1 || userAgent.indexOf("Trident") > -1) {
        browserName = "Internet Explorer";
        fullVersion = userAgent.indexOf("MSIE") > -1
            ? userAgent.substring(userAgent.indexOf("MSIE") + 5)
            : userAgent.substring(userAgent.indexOf("rv:") + 3);
        fullVersion = fullVersion.substring(0, fullVersion.indexOf(";") || fullVersion.indexOf(" "));
    } else {
        browserName = "Unknown";
        fullVersion = "Unknown";
    }

    return {
        browser: browserName,
        version: fullVersion
    };
}

const browserInfo = getBrowserInfo();
console.log("Browser Name: ", browserInfo.browser);
console.log("Browser Version: ", browserInfo.version);

Для более надежной проверки можно использовать библиотеки, такие как bowser, detect-browser или platform.js. Например, вот как это можно сделать с bowser:

import Bowser from "bowser";

const browser = Bowser.getParser(window.navigator.userAgent);
console.log(`Browser Name: ${browser.getBrowserName()}`);
console.log(`Browser Version: ${browser.getBrowserVersion()}`);
0 0