«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Обнаружение VisionOS с помощью JavaScript

Обнаружение VisionOS с помощью JavaScript

Опубликовано 30 июля 2024 г.
Просматривать:162

Detecting visionOS by JavaScript

По состоянию на июль 2024 г. вы можете использовать следующий код, чтобы определить, работает ли браузер на VisionOS или нет. (Это не идентифицирует бренды браузеров; я проверил только основные браузеры.)

function isVisionOS () {
  return navigator.userAgent.includes("(Macintosh;") &&
    !!navigator.xr &&
    document.ontouchstart !== undefined;
}

Авария

Функция использует 3 критерия.

1. Содержит ли строка пользовательского агента «(Macintosh;» или нет.

Safari на macOS, iPadOS, VisionOS имеет следующие пользовательские агенты.

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Safari/605.1.15

Используя следующий код, мы можем определить, работает ли браузер на macOS, iPadOS или VisionOS.

navigator.userAgent.includes("(Macintosh;")

2. Поддерживает ли браузер XR или нет.

Согласно странице MDN, Safari для macOS, iPadOS не поддерживает XR. Однако Safari на VisionOS поддерживает.

Вы можете проверить, поддерживается ли XR, с помощью следующего кода:

!!navigator.xr

Пока кажется, что критериев №1 и №2 достаточно для идентификации VisionOS. Однако Chrome на macOS поддерживает XR. Значит, нам нужен номер 3.

3. Сенсорное это устройство или нет.

Наконец, мы можем исключить macOS, используя следующий код.

document.ontouchstart !== undefined
ОПЕРАЦИОННЫЕ СИСТЕМЫ Браузер Пользовательский агент navigator.xr Сенсорное управление включено
visionOS (2.0) Сафари
visionOS (2.0) Firefox (128.3)
Windows 11 Хром (127.0.6533.72)
Windows 11 Эдж (127.0.2651.74)
Android 12 (Пиксель 6) Хром (126.0.6478.188)
iOS (18.0) Хром (127.0.6533.77)
iOS (18.0) Сафари
iPadOS (17.5.1) Хром (127.0.6533.77)
iPadOS (17.5.1) Сафари
macOS (Sonoma 14.5) Хром (126.0.6478.114)
macOS (Sonoma 14.5) Сафари
Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/ku6ryo/detecting-visionos-by-javascript-1ei5?1. Если обнаружено какое-либо нарушение прав, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3