recent
أخبار ساخنة

معرفة معلومات نظام التشغيل في جافاسكربت 20

معرفة معلومات نظام التشغيل في جافاسكربت 20

أوامر معرفة نظام الزائر Navigator.userAgent جافاسكربت

كشف نظام التشغيل على جهاز الزائر detect operating system on the client machine.

تحديد الأوامر التي نرغب بأن يتم تنفيذها على الأنظمة "الهواتف أو الكمبيوتر أو نظام تشغيل محدد" . الذي نقوم بتحديده بأنفسنا من خلال الكود مثل 'نظام أندرويد, ويندوز, آيفون, لينكس....الخ'.

تُمثّل واجهة المستكشف الدولة و هوية وكيل المستخدم مثل نوع النظام و إصداره و بعض البيانات.

تقوم خاصية UserAgent بإرجاع بيانات وكيل المستخدم المرسلة بواسطة المتصفح إلى الخادم.

و تحتوي القيمة التي تم إرجاعها على معلومات حول إسم المتصفح و الإصدار والنظام الأساسي.

 

أمثلة عملية على إستخدام Navigator-userAgent

نقوم بفتح ملف html نكتب به العناصر التي نُريد أن يتم تنفيذ الأوامر عليها, مثال سوف نستخدم الوسم h2 و نقوم بكتابة إسم موقعنا ضمن الوسم.

<body>
<h2>Programmer Tech website</h2>
</body>

سوف نقوم بتجريب الأكواد بشكل مباشر من متصفح جوجل كروم, و يكون بالدخول لوضع المطورين به.

نضغط في الزر اليمين في الماوس على أي مكان فارغ من الشاشة و الذهاب إلى خيار فحص العنصر أو Inspect ثم console و الضغط على إشارة الأجهزة.

معرفة نظام تشغيل الزائر Navigator-userAgent

نقوم بكتابة الأمر navigator.userAgent ثم نضغط على Enter و نرى نتيجة تعلُّمنا ببيانات الحاسوب الخاص بي و المتصفح كما يلي


كيفية إستخدام Navigator-userAgent في لغة جافاسكربت

كما لآحظنا لقد أعطانا بيانات المتصفح الخاص بي و النظام و بعض البيانات الأخرى, نقوم بالتبديل من الخيارات بأن جهازنا هو Galaxy S5 و نرى ما النتيجة التي سوف ترجع لنا.


تنفيذ أوامر Navigator-userAgent على الهواتف

سوف نقوم حالياً بتبديل نوع الجهاز على سبيل المثال إلى آيفون و نرى نتيجته

Navigator-userAgent iphone 12

نُلاحظ بأن نوع الجهاز هو iPhone و نظامه OS و إصداره 12 و نوعه ماك و المتصفح هو Safari و بعض البيانات الأخرى.

لقد تعلَّمنا أنهُ من خلال العنصر أو الأمر navigator.userAgent يُمكننا أن نقوم بتحديد نوع النظام المُستخدَم و نوع المتصفح لدى الزائر.

و أهم شيئ هو النظام المستخدم, فعلى سبيل المثال نرغَب في تنفيذ الأوامر على جميع الأجهزة التي يكون نظامها أندرويد أثناء زيارة الموقع الخاص بنا.

قبل كل شيئ كما نُلاحظ في الصور السابقة أنه عندما يقوم بعرض البيانات لنا يعرضها بالأحرف الكبيرة و الصغيرة.

و يفضَّل أن تكون البيانات بالأحرف الصغيرة و نستخدم لهذا الغَرَض الميثود toLowerCase() بعد أمر معرفة معلومات النظام المستخدم navigator.userAgent.

Navigator-userAgent

نُلاحظ بأن جميع النتائج قد تم إرجاعها لنا بالأحرف الصغيرة لأننا إستخدمنا العنصر toLowerCase() في أثناء تنفيذ الأمر.


تنفيذ أوامر navigator.userAgent إذا كان النظام android

لنقم الآن بفتح محرر الأكواد و نقوم بالتمرن على ما سبق من خلال المحرر, نفتح ملف الجافاسكربت و نكتب به

var deviceSystem = navigator.userAgent.toLowerCase();
if(deviceSystem.includes("android")){
alert("أنا مستخدم أندرويد");
}

أنشأنا متغير بإسم deviceSystem و كان يساوي القيمة أو يخزن به القيمة navigator.userAgent.toLowerCase.

ثم وضعنا جملة شرطية if و قٌمنا بتحديد المٌتغير ثم قٌلنا في حال كان المتغير السابق التي تم تخزين البيانات به . هو من نوع أندرويد قم بتنفيذ أمر alert مُنبثق يُعلِمُنا بكلمة أنا مُستخدم أندرويد و عند تنفيذ الكود ستكون النتيجة.


navigator.userAgent android

بهذه الطريقة يتم تحديد الأوامر التي نٌريد تنفيذها على جميع أنواع هواتف الأندرويد فقط.


تنفيذ أوامر navigator.userAgent إذا كان النظام iphone

إذا كُنا نُريد أيضاً تحديد أوامر لجميع هواتف آيفون iphone نقوم بوضع شرط آخر و تحديد الأجهزة التي تنتجها آبل iphone و ipad و ipod لأن آيفون لديها العديد من النسخ.

var deviceSystem = navigator.userAgent.toLowerCase();
if(deviceSystem.includes("android")){
alert("أنا مستخدم أندرويد");
}else if(deviceSystem.includes("iphone") || deviceSystem.includes("ipad")
|| deviceSystem.includes("ipod")){
alert("أنا مستخدم ايفون");
}

لقد قُمنا بوضع شرط آخر عن المثال السابق و هو لتنفيذ الأوامر على أجهزة iphon.

و لأن آيفون لها أجهزة متعددة و ضعنا إشارة أو و هي || ثم إخترنا النوع ipad ثم النوع ipod.

و وضعنا أمر الظهور على الشاشة عبر alert يكتُب لنا أنا مُستخدم آيفون و عند تشغيل هذا الكود سنجد النتيجة.

navigator.userAgent iphone

تنفيذ أوامر navigator.userAgent على نظام محدد

يمكن أيضاً إستهداف أجهزة محددة من نوع أندرويد على سبيل المثال فقط الأجهزة التي أنظمتها هي لوليبوب 5.0 يتم هذا بوضع رقم إصدار النظام بعد إسم النظام.

var deviceSystem = navigator.userAgent.toLowerCase();
if(deviceSystem.includes("android")&&deviceSystem.includes("5.0") ) {
alert("أنا مستخدم أندرويد");

في الكود السابق قُمنا بتحديد الأوامر فقط على أجهزة أندرويد التي تحتوي على النظام لوليبوب و رقم إصداره 5.0.


تنفيذ أوامر navigator.userAgent على نظام ويندوز

لنطور الكود السابق أكثر و جعل تنفيذ الأوامر تتم على إصدارات ويندوز أيضاً و تحديد مثلاً فقط النواة 64 بت منها.

var deviceSystem = navigator.userAgent.toLowerCase();
if(deviceSystem.includes("android")&&deviceSystem.includes("5.0") ) {
alert("أنا مستخدم أندرويد");
}else if(deviceSystem.includes("iphone") || deviceSystem.includes("ipad")
|| deviceSystem.includes("ipod")){
alert("أنا مستخدم ايفون");
}
if(deviceSystem.includes("windows") && deviceSystem.includes("win64")){
alert("أنا مستخدم ويندوز");
}

هنا قُمنا بوضع شرط آخر على المثال السابق في الكود و هو في حال كان النظام ويندوز يظهَر للمستخدم أن نظامهُ ويندوز.

و وضعنا إشارة && ثم إخترنا فقط الأجهزة التي نواتها هي 64 بت يتم تنفيذ الأوامر عليها أما النواة 32 لا يتم تنفيذ شيئ عليها.

و نستطيع أيضا تنفيذ الأوامر مثلاً على أنظمة محددة من ويندوز مثلاً فقط ويندوز 10 أو ويندوز 8 أو 7 ....الخ.

google-playkhamsatmostaqltradent