Благодаря автономным API в HTML5 нет никаких оправданий тому, чтобы не обеспечить пользователям безупречную работу в автономном режиме. Одна вещь, которая может помочь в этой истории, — это свойство navigator.onLine
; функция, которая недавно появилась на канале разработчиков Chrome. Это свойство возвращает 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 .