در این بخش از سری آموزش جاوا اسکریپت قصد داریم درباره شیء 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 در جاوا اسکریپت نهایت استفاده را برده باشید.
هر سوالی داشتید ، از قسمت نظرات ارسال کنید . سریعا ، پاسخگوی سوالات شما هستیم .
موفق باشید.