как определить ос пользователя (название и версию) через javascript
Ответы
Чтобы определить операционную систему можно использовать navigator.userAgent
объекта navigator
.
Ниже пример, в котором создается функция для определения ОС. Она проверяет свойство userAgent
с помощью регулярного выражения и сравнения строк:
function getOS() {
const userAgent = window.navigator.userAgent;
let osName = "Unknown OS";
let osVersion = "";
if (userAgent.indexOf("Win") > -1) {
osName = "Windows";
if (userAgent.indexOf("Windows NT 10") > -1) {
osVersion = "10";
} else if (userAgent.indexOf("Windows NT 6.3") > -1) {
osVersion = "8.1";
} else if (userAgent.indexOf("Windows NT 6.2") > -1) {
osVersion = "8";
} else if (userAgent.indexOf("Windows NT 6.1") > -1) {
osVersion = "7";
} else if (userAgent.indexOf("Windows NT 6.0") > -1) {
osVersion = "Vista";
} else if (userAgent.indexOf("Windows NT 5.1") > -1) {
osVersion = "XP";
}
} else if (userAgent.indexOf("Mac") > -1) {
osName = "Mac OS";
const match = userAgent.match(/Mac OS X (\d+[\.\_\d]*)/); // Поиск версии
if (match) {
osVersion = match[1].replace('_', '.');
}
} else if (userAgent.indexOf("Linux") > -1) {
osName = "Linux";
} else if (userAgent.indexOf("Android") > -1) {
osName = "Android";
const match = userAgent.match(/Android (\d+\.\d+)/); // Поиск версии
if (match) {
osVersion = match[1];
}
} else if (userAgent.indexOf("like Mac") > -1) {
osName = "iOS";
const match = userAgent.match(/OS (\d+_[\d_]+)/); // Поиск версии
if (match) {
osVersion = match[1].replace('_', '.');
}
}
return {
name: osName,
version: osVersion
};
}
// Пример использования
const osInfo = getOS();
console.log(`Operating System: ${osInfo.name}, Version: ${osInfo.version}`);
Свойство userAgent
**: С помощью navigator.userAgent
получаем строку с информацией о браузере и ОС.
Функция проверяет содержание строки на наличие определённых подстрок (например, "Windows", "Mac", "Linux", "Android", "iOS") и использует регулярные выражения для извлечения версии, если это возможно.
Функция возвращает объект с именем и версией операционной системы.
0
0