Rumah  >  Artikel  >  hujung hadapan web  >  Mengesan visionOS melalui JavaScript

Mengesan visionOS melalui JavaScript

PHPz
PHPzasal
2024-07-28 09:34:03411semak imbas

Detecting visionOS by JavaScript

Mulai Julai 2024, anda boleh menggunakan kod berikut untuk menentukan sama ada penyemak imbas menggunakan visionOS atau tidak. (Ini tidak mengenal pasti jenama penyemak imbas; saya hanya menyemak pelayar utama.)

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

Pecahan

Fungsi ini menggunakan 3 kriteria.

1. Sama ada rentetan ejen pengguna mengandungi "(Macintosh;" atau tidak.

Safari pada macOS, iPadOS, visionOS mempunyai ejen pengguna seperti mengikuti.

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

Dengan menggunakan kod berikut, kami boleh menentukan sama ada penyemak imbas menggunakan macOS, iPadOS atau visionOS.

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

2. Sama ada pelayar menyokong XR atau tidak.

Menurut halaman MDN, Safari untuk macOS, iPadOS tidak menyokong XR. Walau bagaimanapun, Safari pada visionOS menyokong.

Anda boleh menyemak sama ada XR disokong dengan kod berikut:

!!navigator.xr

Setakat ini, nampaknya kriteria No.1 dan No.2 sudah cukup untuk mengenal pasti visionOS. Walau bagaimanapun, Chrome pada macOS menyokong XR. Jadi kita perlukan No.3.

3. Sama ada peranti sentuh atau tidak.

Akhir sekali, kami boleh mengecualikan macOS dengan menggunakan kod berikut.

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

Atas ialah kandungan terperinci Mengesan visionOS melalui JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn