„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > visionOS per JavaScript erkennen

visionOS per JavaScript erkennen

Veröffentlicht am 30.07.2024
Durchsuche:286

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
Betriebssystem Browser User-Agent navigator.xr Touch Aktiviert
visionOS (2.0) Safari
visionOS (2.0) Firefox (128.3)
Windows 11 Chrome (127.0.6533.72)
Windows 11 Kante (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
Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/ku6ryo/detecting-visionos-by-javascript-1ei5?1 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3