2024년 7월부터 다음 코드를 사용하여 브라우저가 VisionOS에 있는지 확인할 수 있습니다. (브라우저 브랜드는 식별하지 않으며, 주요 브라우저만 확인했습니다.)
function isVisionOS () { return navigator.userAgent.includes("(Macintosh;") && !!navigator.xr && document.ontouchstart !== undefined; }
3가지 기준을 사용하는 기능입니다.
macOS, iPadOS, VisionOS의 Safari에는 다음과 같은 사용자 에이전트가 있습니다.
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;")
MDN 페이지에 따르면 macOS, iPadOS용 Safari는 XR을 지원하지 않습니다. 단, VisionOS의 Safari는 지원합니다.
다음 코드로 XR이 지원되는지 확인할 수 있습니다.
!!navigator.xr
지금까지는 1번과 2번 기준만으로 VisionOS를 식별하기에 충분한 것 같습니다. 그러나 macOS의 Chrome은 XR을 지원합니다. 그래서 No.3이 필요합니다.
마지막으로 다음 코드를 사용하여 macOS를 제외할 수 있습니다.
document.ontouchstart !== undefined
OS | Browser | UserAgent | navigator.xr | Touch enabled |
---|---|---|---|---|
visionOS (2.0) | Safari | ✅ | ✅ | ✅ |
visionOS (2.0) | Firefox (128.3) | ✅ | ✅ | ✅ |
Windows 11 | Chrome (127.0.6533.72) | ❌ | ✅ | ❌ |
Windows 11 | Edge (127.0.2651.74) | ❌ | ✅ | ❌ |
Android 12 (Pixel 6) | Chrome (126.0.6478.188) | ❌ | ✅ | ✅ |
iOS (18.0) | Chrome (127.0.6533.77) | ❌ | ❌ | ✅ |
iOS (18.0) | Safari | ❌ | ❌ | ✅ |
iPadOS (17.5.1) | Chrome (127.0.6533.77) | ✅ | ❌ | ✅ |
iPadOS (17.5.1) | Safari | ✅ | ❌ | ✅ |
macOS (Sonoma 14.5) | Chrome (126.0.6478.114) | ✅ | ✅ | ❌ |
macOS (Sonoma 14.5) | Safari | ✅ | ❌ | ❌ |
위 내용은 JavaScript로 VisionOS 감지의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!