自 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。所以我們需要No.3。
最後,我們可以使用以下程式碼排除 macOS。
document.ontouchstart !== undefined
作業系統 | 瀏覽器 | 用戶代理 | navigator.xr | 觸摸啟用 |
---|---|---|---|---|
visionOS (2.0) | 蘋果瀏覽器 | ✅ | ✅ | ✅ |
visionOS (2.0) | 火狐 (128.3) | ✅ | ✅ | ✅ |
Windows 11 | Chrome (127.0.6533.72) | ❌ | ✅ | ❌ |
Windows 11 | 邊緣(127.0.2651.74) | ❌ | ✅ | ❌ |
Android 12 (Pixel 6) | Chrome (126.0.6478.188) | ❌ | ✅ | ✅ |
iOS (18.0) | Chrome (127.0.6533.77) | ❌ | ❌ | ✅ |
iOS (18.0) | 蘋果瀏覽器 | ❌ | ❌ | ✅ |
iPadOS (17.5.1) | Chrome (127.0.6533.77) | ✅ | ❌ | ✅ |
iPadOS (17.5.1) | 蘋果瀏覽器 | ✅ | ❌ | ✅ |
macOS (索諾瑪 14.5) | Chrome (126.0.6478.114) | ✅ | ✅ | ❌ |
macOS (索諾瑪 14.5) | 蘋果瀏覽器 | ✅ | ❌ | ❌ |
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3