JS об'єкт Navigator
Отримання базової інформації про браузер
Об'єкт Navigator в JavaScript є частиною API браузера, який надає інформацію про браузер та операційну систему. Через Navigator можна отримувати дані про версію браузера, платформу, на якій він працює, і іншу інформацію, що може бути корисною при адаптації веб-застосунків під конкретне середовище користувача.
Однією з основних завдань при роботі з об'єктом Navigator є визначення специфікацій користувацького середовища.
Версія браузера:
navigator.userAgent: Ця властивість повертає рядок, що ідентифікує браузер, так що веб-сайт може вирішити, як відображати контент або які функції використовувати.
console.log(navigator.userAgent);
Коли ви запустите цей код, ви побачите довгий рядок, який містить інформацію про ваш браузер, версію і платформу.
Платформа:
 navigator.platform: Іноді може бути корисно знати, на якій платформі працює браузер (Windows, MacOS, Linux тощо).
console.log(navigator.platform);
Запустивши цей код, ви дізнаєтеся про операційну систему, яку використовує ваш комп'ютер.
Мовні налаштування:
navigator.language: Знаючи мовні налаштування користувача, ви можете автоматично відображати контент на відповідній мові або надавати рекомендації щодо мови.
console.log(navigator.language);
При запуску цього коду виведеться мовний код, наприклад "en-US" для американської англійської мови.
Робота з геолокацією
Об'єкт Navigator надає доступ до API геолокації, який дозволяє отримувати фізичне місцезнаходження пристрою.
Отримання поточного місцезнаходження:
navigator.geolocation.getCurrentPosition(): Цей метод надає поточне місцезнаходження користувача (якщо він дав згоду на його використання).
navigator.geolocation.getCurrentPosition(function(position) {
    console.log("Latitude:", position.coords.latitude);
    console.log("Longitude:", position.coords.longitude);
});
Коли ви запустите цей код, він запитає дозвіл на доступ до геолокації. Після отримання дозволу він виведе вашу широту та довготу.
Відстеження місцезнаходження:
navigator.geolocation.watchPosition(): Цей метод повертає ідентифікатор, який можна використовувати для відстеження змін місцезнаходження користувача в реальному часі.
let watchID = navigator.geolocation.watchPosition(function(position) {
    console.log("Latitude:", position.coords.latitude);
    console.log("Longitude:", position.coords.longitude);
});
// Для зупинки відстеження
// navigator.geolocation.clearWatch(watchID);
Після запуску цього коду ваше місцезнаходження буде відстежуватися та виводитися кожен раз, коли воно змінюється.
| Нотатка: | Коли працюєте з геолокацією, завжди пам'ятайте про приватність користувача. Ніколи не зберігайте місцезнаходження користувача без його відома або згоди. | 
| Нотатка: | Для деяких функцій, таких як геолокація, браузери можуть вимагати дозвіл користувача. Уважно працюйте з цими запитами, інформуючи користувача, чому саме вам потрібен доступ до цієї інформації. | 
| Нотатка: | Деяка інформація, яку надає  Додаткова інформація про браузер може бути корисною для адаптації засобів, проте завжди слід ставитися обережно до інформації, яка відкривається третім сторонам, щоб забезпечити конфіденційність користувачів. | 
| Порада: | Хоча об'єкт  | 
Синтаксис
let ua = navigator.userAgent;Переглядачі
| Переглядач | |||||
|---|---|---|---|---|---|
| 1 | 1 | 1 | 3 | 12 | 
| Переглядач | ||||
|---|---|---|---|---|
| 4.4 | 18 | 4 | 1 | 
| Переглядач | |
|---|---|
| 1.8 | 
Приклади
В цьому прикладі ми використовуємо властивість navigator.language для отримання мови, яку вибрав користувач у своєму браузері. Це може бути корисно для завантаження правильних мовних ресурсів на веб-сайті.
let userLang = navigator.language || navigator.userLanguage; 
console.log(`Мова користувача: ${userLang}`);
В коді перевіряється наявність geolocation в об'єкті navigator, і якщо ця можливість доступна, отримуємо поточну позицію користувача.
if ("geolocation" in navigator) {
  navigator.geolocation.getCurrentPosition(function(position) {
    console.log(`Широта: ${position.coords.latitude}, Довгота: ${position.coords.longitude}`);
  });
} else {
  console.log("Geolocation не підтримується цим браузером");
}
Сервісні робітники - це одна з ключових технологій, що дозволяють створювати прогресивні веб-застосунки (PWA). Щоб гарантувати, що сервісні робітники підтримуються браузером, можна використовувати об'єкт Navigator.
Тут ми перевіряємо, чи підтримує браузер сервісних робітників, і якщо так, реєструємо сервісний робітник з файлу service-worker.js.
if ('serviceWorker' in navigator) {
  navigator.serviceWorker.register('/service-worker.js')
  .then(function(registration) {
    console.log('Сервісний робітник зареєстровано:', registration);
  })
  .catch(function(error) {
    console.log('Реєстрація сервісного робітника не вдалася:', error);
  });
} else {
  console.log('Сервісні робітники не підтримуються цим браузером.');
}
Методи
- javaEnabled()
- Перевіряє підтримку Java у браузері користувача.
- taintEnabled()
- Перевіряє, чи ввімкнено в браузері механізм "забруднення" даних.
Властивості
- appCodeName
- Відображає кодову назву браузера, в якому виконується код.
- appName
- Повертає назву браузера, який виконує код.
- appVersion
- Повертає версію браузера, який використовує користувач.
- platform
- Повертає рядок, який ідентифікує операційну систему користувача.
- product
- Повідомляє назву рушія браузера.
- language
- Повідомляє про переважну мову користувача, налаштовану в браузері.
- cookieEnabled
- Повідомляє, чи ввімкнено підтримку cookies в браузері користувача.
- geolocation
- Надає доступ до API геолокації для визначення місцезнаходження користувача.
- userAgent
- Повідомляє про рядок агента користувача, що ідентифікує браузер.
- onLine
- Визначає, чи має користувач підключення до інтернету.
