Emad Saif نشر 29 أغسطس 2022 أرسل تقرير نشر 29 أغسطس 2022 أريد أن أتحقق من نوع الجهاز المستعمل والتأكد إن كان يستعمل iOS أو أندرويد. كيف يمكن القيام بهذا الأمر في JavaScript؟ وهل توجد مكتبة لتسهيل هذا الأمر؟ اقتباس
1 Sam Ahw نشر 29 أغسطس 2022 أرسل تقرير نشر 29 أغسطس 2022 يمكنك الوصول إلى هذه المعلومات من خلال المتصفح عن طريق استخدام navigator، فإذا حاولت طباعته ستجد المعلومات التالية: console.log(navigator); # platform = Win32 # appCodeName = Mozilla # appName = Netscape # appVersion = 5.0 (Windows; en-US) # language = en-US # mimeTypes = [object MimeTypeArray] # oscpu = Windows NT 5.1 # vendor = Firefox # vendorSub = 1.0.7 # securityPolicy = # userAgent = Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7 .... وبعدها يمكنك تحديد نوع المتصفح ونظام التشغيل من الخاصيات platform، vendor, appCodeName. أما إذا كنت تقصد تحديد نوع الجهاز المستعمل لمستخدم ما ضمن خادم ويب، فيوجد العديد من المكتبات المساعدة حسب ما لغة البرمجة أو إطار العمل الذي تستخدمه سواء كان PHP أو Javascript Node.JS اقتباس
1 علي عبد محسن نشر 29 أغسطس 2022 أرسل تقرير نشر 29 أغسطس 2022 (معدل) function getOS() { var userAgent = window.navigator.userAgent var platform = window.navigator.userAgentData.platform || window.navigator.platform var macosPlatforms = ['Macintosh', 'MacIntel', 'MacPPC', 'Mac68K'] var windowsPlatforms = ['Win32', 'Win64', 'Windows', 'WinCE'] var iosPlatforms = ['iPhone', 'iPad', 'iPod'] var os = null; if (macosPlatforms.indexOf(platform) !== -1) { os = 'Mac OS'; } else if (iosPlatforms.indexOf(platform) !== -1) { os = 'iOS'; } else if (windowsPlatforms.indexOf(platform) !== -1) { os = 'Windows'; } else if (/Android/.test(userAgent)) { os = 'Android'; } else if (/Linux/.test(platform)) { os = 'Linux'; } return os; } يعتمد الأمر كثيراّ على نوع المتصفح و حداثة نسخته. المعلومات التي تخص النظام التشغيلي وتفاصيل اكثر تعقيداً تستطيع الوصول أليها بصورة أساسية من خلال window.navigator ولكن كما وضحنا سلفاً تختلف طريقة الحصول على هذه المعلومات من متصفح لأخر وأحيانا بين تختلف الطريقة بين نسخ نفس المتصفح. الدالة أعلاه تتيح لك تحديد نوع النظام التشغيلي لطيف واسع من الأنظمة وأكثرها شيوعا. تم التعديل في 29 أغسطس 2022 بواسطة علي محسن اقتباس
1 Ahmed Sadek Elamine Touahria نشر 29 أغسطس 2022 أرسل تقرير نشر 29 أغسطس 2022 JavaScript غير قادرة على الحصول على عنوان IP للمستخدم عند التشغيل في المتصفح. ومع ذلك ، من الممكن القيام بذلك من خلال استدعاء API من جانب الخادم. باستخدام خدمة API تسمى VisitorAPI ، يمكنك تحقيق ذلك في سطرين فقط من JavaScript. يُرجع VisitorAPI عنوان IP الخاص بالمستخدم ، والموقع ، والعملات ، واللغات ، ومعلومات الجهاز من خلال استدعاء REST API. الكود التالي يقوم بتحميل API: var VisitorAPI=function(t,e,a){var s=new XMLHttpRequest;s.onreadystatechange=function(){var t;s.readyState===XMLHttpRequest.DONE&&(200===(t=JSON.parse(s.responseText)).status?e(t.data):a(t.status,t.result))},s.open("GET","https://visitorapi-dev.uc.r.appspot.com/api/?pid="+t),s.send(null)}; بمجرد تحميل واجهة برمجة التطبيقات ، يمكنك إجراء استدعاء لواجهة برمجة التطبيقات بالصيغة التالية: new VisitorAPI(projectID, successHandler, errorHandler); هناك 3 معلمات في استدعاء API: projectID: هذا هو المعرف الفريد لمشروع VisitorAPI الخاص بك والذي يمكنك إنشاؤه في VisitorAPI UI مجانًا. SuccessHandler: هذه وظيفة تعالج بيانات الزائر عندما يتم استدعاء واجهة برمجة التطبيقات بنجاح. انظر تنسيق بيانات الاستجابة هنا. errorHandler: هذه وظيفة تعالج رمز الخطأ ورسالة الخطأ عندما ترجع استدعاء API خطأ. يمكن أن تحتوي الوظيفة على معلمتين: رمز الخطأ ورسالة الخطأ. يوجد أدناه مثال لطباعة بيانات المستخدم في وحدة تحكم المتصفح: VisitorAPI( "om61tWZOjuBBPxTdDlpy", function(data){console.log(data)}, function(errorCode, errorMessage){console.log(errorCode, errorMessage)} ); ستقوم بطباعة كائن JSON مشابه للمثال أدناه بناءً على عنوان IP الحقيقي للمستخدم الحالي وبيانات الجهاز. { "ipAddress":"118.211.184.103", "countryCode":"AU", "countryName":"Australia", "currencies":["AUD"], "languages":["eng"], "region":"nsw", "city":"sydney", "cityLatLong":"-33.868820,151.209295", "browser":"Chrome Mobile iOS", "browserVersion":"100", "deviceBrand":"Apple", "deviceModel":"iPad", "deviceFamily":"iPad", "os":"iOS", "osVersion":"15" } من المهم ملاحظة أن الزائر لا يستخدم مفتاح واجهة برمجة التطبيقات (API) لمصادقة مكالمات واجهة برمجة التطبيقات (API) الخاصة بك ، لأن أي مفاتيح واجهة برمجة تطبيقات ستكون مكشوفة للجميع وهذا يتعارض مع الغرض من المفاتيح. بدلاً من ذلك ، يسمح لك بوضع قائمة نطاقات معتمدة يُسمح لها باستدعاء نقطة نهاية API من ، بحيث لا يتمكن أي شخص آخر من الاتصال بنقطة نهاية API الخاصة بك واستخدام حصة API الخاصة بك. اقتباس
السؤال
Emad Saif
أريد أن أتحقق من نوع الجهاز المستعمل والتأكد إن كان يستعمل iOS أو أندرويد.
كيف يمكن القيام بهذا الأمر في JavaScript؟ وهل توجد مكتبة لتسهيل هذا الأمر؟
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.