همانطور که از مرورگر به عنوان محیط آزمایشی خودمان استفده میکنیم، بگذارید چند تابع تعاملی را بررسی کنیم: alert
، prompt
و confirm
.
alert
این یکی را قبلاً هم دیدهایم. یک پیغام نمایش میدهد و صبر میکند تا کاربر دکمهٔ «OK» را بزند.
برای مثال:
alert("سلام");
کلمۀ modal window به این معنا میباشد که بازدیدکننده تا وقتی که پنجره باز است نمیتواند با بقیۀ صفحه تعامل داشته باشد، مثلا دکمههای دیگر را بزند و غیره. در این مثال، تا وقتی که بر روی “OK” بزند.
prompt
تابع prompt
دو پارامتر دارد:
result = prompt(title, [default]);
این تابع یک پنجرهٔ modal همراه با یک پیغام، یک فیلد ورودی برای بازدیدکننده، و دکمههای «OK/Cancel» را نمایش میدهد.
title
- پیغامی که به کاربر نمایش داده میشود.
default
- پارامتر اختیاری دوم، مقدار اولیه برای فیلد ورودی.
[...]
براکتهای اطراف default
در سینتکس بالا اختیاری بودن پارامتر را مشخص میکند.
بازدیدکننده میتواند چیزی را در فیلد ورودی prompt تایپ کند و دکمهٔ «OK» را بزند. سپس ما متن را در result
دریافت میکنیم. یا بازدیدکننده میتواند با زدن دکمهٔ «Cancel» یا فشردن Esc ورودی را کنسل کند.
تابع prompt
متن دریافتی از فیلد ورودی را بر میگرداند اما درصورت کنسل شدن null
را بر میگرداند.
برای مثال:
let age = prompt('How old are you?', 100);
alert(`You are ${age} years old!`); // You are 100 years old!
default
را تعریف کنید.پارامتر دوم اختیاری است، اما اگر آن را تعریف نکنیم، اینترنت اکسپلورر متن "undefined"
را درون آن قرار میدهد.
کد زیر را در اینترنت اکسپلورر اجرا کنید تا ببینید:
let test = prompt("تست");
پس، برای خوب به نظر رسیدن prompt ها در اینترنت اکسپلورر، ما پیشنهاد میکنیم همیشه پارامتر دوم را تعریف کنید:
let test = prompt("تست", ''); // <-- برای اینترنت اکسپلورر
confirm
سینتکس کد:
result = confirm(question);
تابع confirm
یک پنجرهٔ modal همراه با یک question
(سوال) و دو دکمهٔ OK و Cancel نمایش میدهد.
در صورتی که بر روی OK کلیک شود، نتیجه true
و در غیر اینصورت، نتیجه false
خواهد شد.
برای مثال:
let isBoss = confirm("آیا شما رئیس هستید؟");
alert( isBoss ); // خواهد بود true پاس داده شود نتیجه OK اگر
خلاصه
ما ۳ تابع خاص مرورگر را که از طریق آنها میتوان با کاربر تعامل کرد را بررسی کردیم:
alert
- نمایش یک پیغام.
prompt
- نمایش یک پیغام و درخواست از کاربر برای وارد کردن متن. این تابع متن را و یا اگر دکمهٔ Cancel یا Esc زده شود
null
را بر میگرداند. confirm
- نمایش یک پیغام و منتظر ماندن برای کاربر تا دکمهٔ «OK» یا «Cancel» را فشار دهد. این تابع برای OK مقدار
true
و برای Cancel/Esc مقدارfalse
را بر میگرداند.
همهٔ این توابع، modal هستند: آنها اجرای اسکریپت را متوقف میکنند و به بازدیدکننده اجازه تعامل با بقیهٔ صفحه را تا زمانی که پنجره بسته شود نمیدهند.
دو محدودیت دربارهٔ همهٔ تابعهای بالا وجود دارد:
- مکان دقیق پنجرهٔ modal توسط مرورگر تعیین میشود. معمولاً در وسط صفحه قرار دارد.
- ظاهر دقیق پنجره نیز توسط مرورگر تعیین میشود. ما نمیتوانیم آن را تغییر دهیم.
این بهاییست که برای سادگی میپردازیم. راههای دیگری برای نمایش پنجرههای بهتر و غنیتر برای تعامل با بازدیدکننده نیز وجود دارد، ولی اگر «زرق و برق» برایتان مهم نیست، این توابع کار را به خوبی انجام میدهند.
نظرات
<code>
استفاده کنید، برای چندین خط – کد را درون تگ<pre>
قرار دهید، برای بیش از ده خط کد – از یک جعبهٔ شنی استفاده کنید. (plnkr، jsbin، codepen…)