آبجکت Window Navigaton در زبان جاوااسکریپت

آبجکت Window Navigation در زبان جاوااسکریپت – آموزش جاواسکریپت مقدماتی درس 23

در این مقاله ما به بررسی آبجکت Window.Navigaton در جاوااسکریپت می پردازیم.

آبجکت  Navigation در جاوااسکریپت

ویژگی navigator از آبجکت window (یعنی window.navigator) یک مرجع برای آبجکت Navigator است؛ آن یک ویژگی فقط خواندنی است که حاوی اطلاعاتی درباره مرورگر کاربر است.

به خاطر آنکه آبجکت window یک آبجکت عمومی (Global Object) است و آن در بالائی زنجیره حوزه (Scope) قرار گرفته است، ویژگی  آبجکت Window یعنی Window.navigator را می توان بدون استاده از پسوند window در اختیار داشت و به همین خاطر آن به سادگی به صورت navigator نوشته می شود.

در بخشی که در ادامه می آید ما به شما نشان می دهیم که چطور می توانید اطلاعات گوناگون درباره مرورگر کاربر را دریافت کنید.

تعیین زمان های آنلاین و یا آفلاین مرورگر

شما می توانید با استفاده از ویژگی navigator.onLine مشخص کنید که مرورگر و یا اپلیکیشن تحت وب به چه صورت آنلاین و یا آفلاین در حال کار است. این ویزگی یک مقدار بولین (True/false) را بر می گرداند که به در آن True به معنای اتصال آنلاین و False به معنای عدم اتصال به اینترنت و کارکردن آفلاین است.

مثال

<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>

 

در زمانی که اتصال به اینترنت ایجاد می شود و یا اتصال موجود قطع می شود، مرورگر یک رویداد را اعلام می کند. شما می توانید تابع های کنترل کننده ای را به دسته از رویدادها متصل کنید تا بتوانید کارکرد نرم‌افزار ها و سایت های خودتان در حالت آفلاین و آنلاین را بهینه‌سازی کنید.

بگذارید در اینجا نگاهی به این موضوع بیندازیم و ببینم که جاوااسکریپت در این زمینه به چه صورت کار می کند.

مثال

<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() در مثال بالا به صورت خودکار به وسیله مرورگر در هر زمانی که اتصال قطع می شود (Offline) فراخوانده می شود، در حالی که تابع goOnline() به صورت خودکار در زمانی که اتصال برقرار است (Online) است فرا خوانده می شود.

بررسی کردن فعال بودن حالت دریافت Cookies

شما می توانید از ویژگی navigator.cookieEnabled استفاده کنید تا بتوانید فعال بودن حالت پذیرش کوکی ها (Cookies) در مرورگر کاربر را چک کنید. این ویژگی می تواند یک مقدار بولین را برگرداند، اگر حالت دریافت کوکی فعالب اشد این ویژگی مقدار True و اگر نباشد مقدار False را بر می گرداند.

مثال

<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 استفاده کنید تا زبانی که در رابط کاربری مرورگر استفاده می شود را مشخص کنید.

این ویژگی یک رشته را بر میگرداند که نشان دهنده زبان است، برای مثال رشته ای مانند «en»، یا «en-US» را بر می گرداند.

مثال

<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 است.
  • platform – این گزینه پلتفرمی که مرورگر بر روی آن اجرا می شود را بر می گرداند (برای مثال مقدار «Win32» یا «WebTV OS»).

همانطور که شما از طریق توضیحاتی که در بالا آمده است مشاهده کردید، مقدارهای برگشتی از این ویژگی ها بسیار گمراه کننده و غیرقابل اعتماد هستند، برای همین نباید از آن ها برای تعیین نوع و نسخه مرورگر اعتماد کرد.

مثال

<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>

 

بررسی فعال بودن پشتیبانی از زبان Java در مرورگر

شما می توانید از متد JavaEnabled() استفاده کنید تا مطمئن شوید که مرورگر جاری از زبان Java پشتیبانی می کند یا خیر.

این متد به سادگی مشخص می کند که آید کنترل کننده های زبان جاوا در مرورگر فعال هستند یا نه ولی هیچ پیشنهادی را برای فعال کردن این حالت بر روی مرورگر و یا پشتیبانی از آن به کاربر اعلام نمی کند.

مثال

<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>

 

No votes yet.
Please wait...

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

منو اصلی

question