Heim  >  Artikel  >  Web-Frontend  >  visionOS per JavaScript erkennen

visionOS per JavaScript erkennen

PHPz
PHPzOriginal
2024-07-28 09:34:03432Durchsuche

Detecting visionOS by JavaScript

Ab Juli 2024 können Sie mit dem folgenden Code feststellen, ob ein Browser auf visionOS läuft oder nicht. (Dies identifiziert keine Browsermarken; ich habe nur die wichtigsten Browser überprüft.)

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

Abbauen

Die Funktion verwendet 3 Kriterien.

1. Ob die Benutzeragentenzeichenfolge „(Macintosh;“ enthält oder nicht.

Safari auf macOS, iPadOS und visionOS verfügt über Benutzeragenten wie die folgenden.

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

Mithilfe des folgenden Codes können wir feststellen, ob der Browser auf macOS, iPadOS oder visionOS läuft.

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

2. Ob der Browser XR unterstützt oder nicht.

Laut der MDN-Seite unterstützt Safari für macOS, iPadOS XR nicht. Safari unter visionOS unterstützt jedoch.

Sie können mit dem folgenden Code überprüfen, ob XR unterstützt wird:

!!navigator.xr

Bisher scheinen die Kriterien Nr. 1 und Nr. 2 auszureichen, um visionOS zu identifizieren. Chrome unter macOS unterstützt jedoch XR. Wir brauchen also Nr. 3.

3. Ob es sich um ein Touch-Gerät handelt oder nicht.

Schließlich können wir macOS ausschließen, indem wir den folgenden Code verwenden.

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

Das obige ist der detaillierte Inhalt vonvisionOS per JavaScript erkennen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn