هل من الممكن اكتشاف *نوع الجهاز المحمول* عبر جافا سكريبت أو رؤوس HTTP؟

StackOverflow https://stackoverflow.com/questions/158369

سؤال

لقد تلقيت طلبًا من أحد العملاء لاكتشاف نوع الجهاز المحمول تلقائيًا (وليس المتصفح، النوع.السابق:Moto Q، وBlackjack II، وما إلى ذلك) واختيار الجهاز تلقائيًا من القائمة المنسدلة التي تحتوي على قائمة الأجهزة المدعومة.

لقد وجدت حتى الآن أن رؤوس HTTP (المقدمة بواسطة Mobile IE) تحتوي على معلومات مثل

  • دقة
  • UA-CPU (لقد رأيت ARM من WM 2003 وx86 من WM5)
  • وكيل المستخدم (والذي يقول بشكل أساسي Windows CE)

الشيء الوحيد الذي يمكنني التفكير فيه الآن هو استخدام مزيج من الدقة/وحدة المعالجة المركزية وتقديم "أفضل تخمين"

أي أفكار؟

هل كانت مفيدة؟

المحلول

ماذا يعني العميل بالضبط بكلمة "مدعوم".من المؤكد أن هذا يعني أن الهاتف المعني يدعم تطبيق الويب ووظائفه الداخلية - أليس من الأفضل أن ننسى اكتشاف الجهاز ونركز ببساطة على اكتشاف تلك الإمكانيات المطلوبة لكي يعمل التطبيق بشكل صحيح؟على سبيل المثال، إذا كان موقع ويب الجوال الخاص بي يتطلب تشغيل Ajax، فبدلاً من إدراج جميع الأجهزة التي يُقال إنها "تدعم Ajax"، يمكنني إجراء بعض عمليات الكشف البسيطة عن الكائنات لاكتشافها بنفسي.

اكتشاف الجهاز، تمامًا مثل اكتشاف المتصفح، لا يمكن الاعتماد عليه.نعم ممكن ولكن لا أنصح به..في أحد المشاريع التي قمت بها، استخدمنا سلسلة وكيل المستخدم لاكتشاف الأجهزة المختلفة.أصبحت طريقة IndexOf javaScript مفيدة!:)

نصائح أخرى

قد ترغب في إلقاء نظرة على WURFL، هنا: http://wurfl.sourceforge.net/.

من الموقع:

لذا...ما هو WURFL؟WURFL هو ملف تكوين XML يحتوي على معلومات حول إمكانيات وميزات العديد من الأجهزة المحمولة.

النطاق الرئيسي للملف هو جمع أكبر قدر ممكن من المعلومات حول جميع الأجهزة المحمولة الموجودة التي تصل إلى صفحات WAP حتى يتمكن المطورون من إنشاء تطبيقات أفضل وخدمات أفضل للمستخدمين.

الحل السريع والسهل الآخر هو Apache Mobile Filter: http://www.apachemobilefilter.org

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top