"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > الكشف عن VisionOS عن طريق جافا سكريبت

الكشف عن VisionOS عن طريق جافا سكريبت

تم النشر بتاريخ 2024-07-30
تصفح:295

Detecting visionOS by JavaScript

اعتبارًا من يوليو 2024، يمكنك استخدام الكود التالي لتحديد ما إذا كان المتصفح يعمل بنظام التشغيل VisionOS أم لا. (هذا لا يحدد العلامات التجارية للمتصفح؛ لقد قمت فقط بفحص المتصفحات الرئيسية.)

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

انفصال

تستخدم الدالة 3 معايير.

1. ما إذا كانت سلسلة وكيل المستخدم تحتوي على "(Macintosh;" أم لا).

يحتوي Safari على macOS وiPadOS وvisionOS على وكلاء مستخدمين مثل المتابعة.

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 لنظام التشغيل macOS، لا يدعم iPadOS XR. ومع ذلك، يدعم Safari على VisionOS.

يمكنك التحقق من دعم XR من خلال الكود التالي:

!!navigator.xr

حتى الآن، يبدو أن المعيارين رقم 1 ورقم 2 كافيان لتحديد VisionOS. ومع ذلك، يدعم Chrome على نظام التشغيل macOS XR. لذلك نحن بحاجة إلى رقم 3.

3. سواء كان جهاز يعمل باللمس أم لا.

أخيرًا، يمكننا استبعاد macOS باستخدام الكود التالي.

document.ontouchstart !== undefined
نظام التشغيل المتصفح وكيل المستخدم navigator.xr تم تمكين اللمس
visionOS (2.0) رحلات السفاري
visionOS (2.0) فايرفوكس (128.3)
ويندوز 11 كروم (127.0.6533.72)
ويندوز 11 الحافة (127.0.2651.74)
أندرويد 12 (بكسل 6) كروم (126.0.6478.188)
iOS (18.0) كروم (127.0.6533.77)
iOS (18.0) رحلات السفاري
نظام تشغيل iPad (17.5.1) كروم (127.0.6533.77)
نظام تشغيل iPad (17.5.1) رحلات السفاري
نظام التشغيل MacOS (سونوما 14.5) كروم (126.0.6478.114)
نظام التشغيل MacOS (سونوما 14.5) رحلات السفاري
بيان الافراج تم نشر هذه المقالة على: https://dev.to/ku6ryo/detecting-visionos-by-javascript-1ei5?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3