自 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 頁面,Safari for macOS、iPadOS 不支援 XR。不過,visionOS 上的 Safari 支援。
您可以透過以下程式碼檢查是否支援XR:
!!navigator.xr
到目前為止,標準 1 和 2 似乎足以辨識visionOS。不過,macOS 上的 Chrome 支援 XR。所以我們需要 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中文網其他相關文章!