
در این بخش از سری آموزش جاوا اسکریپت قصد داریم درباره شیء navigator صحبت کنیم.
شیء navigator
خصوصیت navigator از window یک رفرنس به آبجکت navigator است که بصورت فقط خواندنی اطلاعاتی از مرورگر کاربر را شامل می شود.
از آنجا که window یک آبجکت سراسری و در بالای زنجیره اسکوپ است, بنابراین خصوصیات شی window مثل window.navigator می تواند بدون پیشوند window. قابل دسترس باشد. برای مثال می توانید به جای window.navigator.language بنویسید navigator.language
تشخیص آنلاین یا آفلاین بودن مرورگر
می توانید از خصوصیت navigator.onLine برای تشخصی اینکه مرورگر (اپلیکیشن) آنلاین یا آفلاین است یا خیر استفاده کنید.
این خصوصیت مقدار بولین true برای آنلاین و false برای آفلاین را برگشت می دهد.
|
1 2 3 4 5 6 7 8 9 10 11 |
<script> function checkConnectionStatus() { if(navigator.onLine) { alert("Application is online."); } else { alert("Application is offline."); } } </script> <button type="button" onclick="checkConnectionStatus();">Check Connection Status</button> |
مرورگر یک رویداد آفلاین و آنلاین را زمانی که یک کانکشن ایجاد یا از بین می رود اجرا می کند.
می توانید توابع هندلر را به این رویدادها به منظور سفارش سازی سناریوهای آنلاین یا آفلاین بودن اپلیکیشن خود اضافه کنید.
همانند همان روشی که وردپرس در زمان ایجاد/ویرایش پست, اگر کانکشن قطع شود دکمه بروزرسانی/انتشار را غیرفعال و یک پیام را نمایش می دهد.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<script> function goOnline() { // Action to be performed when your application goes online alert("And we're back!"); } function goOffline() { // Action to be performed when your application goes offline alert("Hey, it looks like you're offline."); } // Attaching event handler for the online event window.addEventListener("online", goOnline); // Attaching event handler for the offline event window.addEventListener("offline", goOffline); </script> <p>Toggle your internet connection on/off to see how it works.</p> |
تابع goOffline() در مثال بالا بصورت خودکار زمانی که کانکشن آفلاین می شود اجرا می کند درحالیکه تابع goOnline() بصورت خودکار توسط مرورگر هنگامی که وقعیت ارتباط به آنلاین تغییر می کند, فراخوانی می شود.
بررسی اینکه کوکی فعال است یا نه
می توانید از navigator.cookieEnabled برای بررسی کردن اینکه قابلیت استفاده از کوکی در مرورگر کاربر فعال است یا خیر استفاده کنید.
این خصوصیت یک مقدار true را هنگام فعال بودن و false را برای غیرفعال بودن کوکی برگشت می دهد.
|
1 2 3 4 5 6 7 8 9 10 11 |
<script> function checkCookieEnabled() { if(navigator.cookieEnabled) { alert("Cookies are enabled in your browser."); } else { alert("Cookies are disabled in your browser."); } } </script> <button type="button" onclick="checkCookieEnabled();">Check If Cookies are Enabled</button> |
نکته: دقت کنید باید از خصوصیت navigator.cookieEnabled برای چک کردن فعال/غیرفعال بودن کوکی استفاده کنید قبل از اینکه بخواهید کوکی را ساخته یا در کد جاوا اسکریپت خود استفاده کنید.
تشخیص زبان مرورگر
می توانید از خصوصیت navigator.language برای مشخص کردن زبان UI مرورگر استفاده کنید.
این خصوصیت یک رشته نمایانگر زبان مثل “en”,”en-US” و … را برگشت می دهد.
|
1 2 3 4 5 6 7 |
<script> function checkLanguage() { alert("Your browser's UI language is: " + navigator.language); } </script> <button type="button" onclick="checkLanguage();">Check Language</button> |
دریافت نام و ورژن مرورگر
آبجکت Navigator پنچ خصوصیت اصلی برای اطلاعات مرورگر کاربر دارد که لیست آنها را با توضیح مختصر در زیر می بینید:
appName– برگشت دادن نام مرورگر که در هر مرورگری همیشه Netscape برگشت می دهد.appVersion– نسخه و دیگر اطلاعات مرورگر را برگشت می هد.appCodeName– کد نام مرورگر را که برای همه مرورگر ها Mozilla را برگشت می هد.userAgent– این خصوصیت معمولا دارای همه اطلاعاتappNameوappVersionاست که به نام user agent شناخته می شودplatform– پلتفرمی که مرورگر روی آن اجرا می شود را برگشت می هد. (“Win32”, “WebTV OS”…,)
همانطور که در توضیحات بالا می بینید اطلاعات برگشت داده توسط این خصوصیات, گمراه کننده و غیر قابل اعتماد هستند. بنابراین از آنها برای تعیین کردن نوع و ورژن مرورگر کاربر استفاده نکنید.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<script> function getBrowserInformation() { var info = "\n App Name: " + navigator.appName; info += "\n App Version: " + navigator.appVersion; info += "\n App Code Name: " + navigator.appCodeName; info += "\n User Agent: " + navigator.userAgent; info += "\n Platform: " + navigator.platform; alert("Here're the information related to your browser: " + info); } </script> <button type="button" onclick="getBrowserInformation();">Get Browser Information</button> |
بررسی اینکه جاوا فعال است یا نه
می توانید از متد javaEnabled برای بررسی کردن اینکه جاوا روی مرورگر فعلی فعال است یا خیر استفاده می شود.
این متد نشان می دهد که کنترل ها جاوا روشن یا خاموش است وگرنه اینکه مرورگر جاوا را پشتیبانی می کند یا جاوا روی سیستم کاربر فعال است یا خیر را آشکار نمی کند.
|
1 2 3 4 5 6 7 8 9 10 11 |
<script> function checkJavaEnabled() { if(navigator.javaEnabled()) { alert("Your browser is Java enabled."); } else { alert("Your browser is not Java enabled."); } } </script> <button type="button" onclick="checkJavaEnabled();">Check If Java is Enabled</button> |
امیدوارم از آموزش شیء navigator در جاوا اسکریپت نهایت استفاده را برده باشید.
هر سوالی داشتید ، از قسمت نظرات ارسال کنید . سریعا ، پاسخگوی سوالات شما هستیم .
موفق باشید.




