با وجود API های آفلاین در HTML5، هیچ بهانه ای برای ارائه یک تجربه آفلاین بی عیب و نقص برای کاربران وجود ندارد. یکی از مواردی که می تواند به این داستان کمک کند ویژگی navigator.onLine
است. قابلیتی که اخیراً در کانال برنامه نویس کروم قرار گرفت. این ویژگی بسته به اینکه برنامه اتصال به شبکه داشته باشد یا خیر، true
یا false
را برمی گرداند:
if (navigator.onLine) {
console.log('ONLINE!');
} else {
console.log('Connection flaky');
}
یک برنامه وب همچنین می تواند به رویدادهای online
و offline
گوش دهد تا مشخص کند چه زمانی اتصال دوباره در دسترس است یا چه زمانی یک برنامه آفلاین می شود:
window.addEventListener('online', function(e) {
// Re-sync data with server.
}, false);
window.addEventListener('offline', function(e) {
// Queue up events for server.
}, false);
من یک نسخه نمایشی کاربردی در http://html5-demos.appspot.com/static/navigator.onLine.html پست کردهام و اطلاعات بیشتر در مورد رویدادهای آفلاین را میتوانید در MDN پیدا کنید.