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; }
Die Funktion verwendet 3 Kriterien.
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;")
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.
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!