JavaScript

Як визначити операційну систему (ОС) за допомогою JavaScript

Last updated: 02.04.2026
Views: 238

Іноді під час створення веб-застосунків або веб-сайтів необхідно визначити операційну систему користувача. Це може бути корисним для застосування різних стилів CSS, збору аналітичних даних або адаптації певних функцій залежно від середовища користувача. Хоча існує багато бібліотек та плагінів для виявлення ОС, у простих випадках цілком можливо реалізувати цю функціональність без будь-яких сторонніх інструментів.

У більшості випадків вам не потрібно визначати точну версію операційної системи — достатньо знати її загальний тип. Найпоширеніші операційні системи, з якими ви можете працювати, це Windows, macOS, Linux, Android та iOS. Ці платформи охоплюють більшість користувачів і зазвичай достатні для практичних завдань фронтенду.

Існує кілька реальних випадків використання для виявлення операційної системи. Наприклад, ви можете відображати різні посилання для завантаження залежно від того, чи користувач використовує Windows, чи macOS. Ще один поширений сценарій — це налаштування поведінки інтерфейсу користувача або відображення інструкцій, специфічних для платформи. У деяких випадках виявлення ОС також може бути використано для покращення взаємодії з користувачем шляхом адаптації контенту або функціональності до пристрою користувача.

JavaScript

function detectOS() {
    const platform = navigator.platform.toLowerCase(),
        iosPlatforms = ['iphone', 'ipad', 'ipod', 'ipod touch'];

    if (platform.includes('mac')) return 'MacOS';
    if (iosPlatforms.includes(platform)) return 'iOS';
    if (platform.includes('win')) return 'Windows';
    if (/android/.test(navigator.userAgent.toLowerCase())) return 'Android';
    if (/linux/.test(platform)) return 'Linux';

    return 'unknown';
}

Описаний тут підхід не має на меті охопити всі можливі операційні системи, а зосереджується на найпоширеніших. Водночас логіку можна легко розширити або змінити, якщо вам знадобиться підтримка додаткових платформ у майбутньому.

Приклад працюючого коду ви можете побачити на Codepen: https://codepen.io/igorrybalko/pen/vEBvPgm

author
Автор: Ігор Рибалко
Працюю фронтенд розробником з 2014 року. Основний стек технологій - Vue.js і WordPress

Схожі записи:

  • Плагін jQuery Accordion
    На сайтах часто використовується акордеон. Цей елемент популярний і в той же час зручний. Акордеон допомагає структурувати контент і економить місце. У своїй роботі я час...
  • Ітерація елементів масиву без циклу
    Приклади дуже абстрактні, оскільки цикли існують. Наша умова буде такою. Потрібно вибрати всі елементи масиву за заданим атрибутом. Або, якщо сказати точніше, потрібно ві...
  • Як робити асинхронні запити в циклі в JavaScript
    Реалізація асинхронних запитів у циклі JavaScript спочатку може здатися неочевидною. Роблячи асинхронні запити в циклі JavaScript, важливо правильно їх обробляти. Це можн...

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Blue Captcha Image
Refresh

*