بينما نستخدم المتصفح كبيئة تجريبية، تعال نرى بعض الدوال المستخدمة في التعامل مع المستخدم: alertو prompt و confirm.
alert
هذه رأيناها بالفعل. إنها تظهر رسالة وتنتظر من المستخدم أن يضغط على “OK”.
على سبيل المثال:
alert("Hello");
النافذة الصغيرة التي تحتوي على رسالة تدعى modal window. الكلمة “modal” تعني أن المستخدم لا يستطيع أن يتفاعل مع باقي الصفحة، مثل الضغط على أزرار أخرى، إلخ، حتى يتعامل مع هذه النافذة. في هذه الحالة – حتى يضغط على “OK”.
prompt
الدالة prompt تقبل معاملين اثنين:
result = prompt(title, [default]);
إنها تظهر نافذة مشروطة برسالة نصية و حقل إدخال للزائر و وأزرار OK/Cancel.
title- النص الذي يظهر في الزائر.
default- معامل ثاني إختياري، القيمة الأولية لحقل الإدخال.
[...]الأقواس المربعة حول default في الكود أعلاه يوضح أن المعامل إختياري، ليس مطلوب.
الزائر يستطيع كتابة أي شئ في حقل الإدخال ويضغط أوك. ثم نحصل على النص في النتيجة. أو يستطيع إلغاء الإدخال بالضغط على إلغاء أو الضغط على زرار Esc ، عندها سنحصل على null كresult.
إستدعاء prompt ترجع النص من حقل الإدخال أو null لو هذا الإدخال تم إلغاؤه.
على سبيل المثال:
let age = prompt('كم عمرك؟', 100);
alert(`أنت عمرك ${age} سنة!`); // أنت عمرك 100 سنة!
defaultالمعامل الثاني إختياري، لكن إذا لم يتم إدخاله، انترنت اكسبلورر سيدخل النص "undefined" داخل حقل الإدخال.
جرب هذا الكود في متصفح إنترنت إكسبلورر وسترى:
let test = prompt("Test");
لذلك، ال prompts لكي تظهر بشكل جيد في انترنت اكسبلورر، ننصح دائما بتزويد المتصفح بالمعامل الثاني:
let test = prompt("Test", ''); // <-- for IE
confirm
الكود:
result = confirm(question);
الدالة confirm تظهر نافذة مشروطة ب سؤال و زرارين: OK and Cancel.
النتيجة هي true لو تم الضغط على زر أوك أوfalse لغير ذلك.
على سبيل المثال:
let isBoss = confirm("هل أنت المدير؟");
alert( isBoss ); // true لو زر أوك تم الضغط عليه
ملخص
غطينا 3 دوال خاصة بالمتصفح للتعامل مع الزوار:
alert- يظهر رسالة.
prompt- يظهر رسالة تسال المستخدم لإدخال نص. يتم إرجاع النص ، أو زر إلغاء أو زر Esc تم الضغط عليه، أو
null. confirm- تظهر رسالة وتنتظر المستخدم ليضغط على زر “OK” أو “Cancel”. ترجع
trueفي حالة أوك وfalseفي حالة Cancel/Esc.
كل هذه الطرق مشروطة: إنها توقف تنفيذ الكود ولا تسمح للزائر للتعامل مع باقي الصفحة حتى يتم صرف النافذة .
يوجد قيدان مشتركان لكل الطرق أعلاه :
- الموقع المضبوط للنافذة المشروطة يتم تقريره من خلال المتصفح. عادة، إنها تكون في المنتصف.
- الشكل المضبوط للنافذة أيضاً يعتمد على المتصفح . لا نستطيع تعديله.
هذا ثمن البساطة. هناك طرق أخرى تظهر نوافذ ألطف و أغنى في التعامل مع المستخدم، لكن لو “الأجراس و الصفارات” لا تهم كثيراً، هذه الطرق تعمل بشكل جيد.
التعليقات
<code>، وللكثير من السطور استخدم<pre>، ولأكثر من 10 سطور استخدم (plnkr, JSBin, codepen…)