首頁 > web前端 > js教程 > 透過JavaScript檢測visionOS

透過JavaScript檢測visionOS

PHPz
發布: 2024-07-28 09:34:03
原創
460 人瀏覽過

Detecting visionOS by JavaScript

自 2024 年 7 月起,您可以使用以下程式碼來確定瀏覽器是否在 VisionOS 上。 (這不識別瀏覽器品牌;我只檢查了主要瀏覽器。)

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

分解

函數使用 3 個標準。

1. 使用者代理字串是否包含「(Macintosh;」。

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;")
登入後複製

2.瀏覽器是否支援XR。

根據 MDN 頁面,Safari for macOS、iPadOS 不支援 XR。不過,visionOS 上的 Safari 支援。

您可以透過以下程式碼檢查是否支援XR:

!!navigator.xr
登入後複製

到目前為止,標準 1 和 2 似乎足以辨識visionOS。不過,macOS 上的 Chrome 支援 XR。所以我們需要 3 號。

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中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板