Com as APIs off-line em HTML5, não há desculpa para não fornecer uma experiência off-line impecável para os usuários. Algo que pode ajudar nessa história é a propriedade navigator.onLine
, um recurso lançado recentemente no Canal de Desenvolvedor do Chrome. Essa propriedade retorna true
ou false
, dependendo se o app tem ou não conectividade de rede:
if (navigator.onLine) {
console.log('ONLINE!');
} else {
console.log('Connection flaky');
}
Um app da Web também pode detectar eventos online
e offline
para determinar quando a conexão está disponível novamente ou quando um app fica off-line:
window.addEventListener('online', function(e) {
// Re-sync data with server.
}, false);
window.addEventListener('offline', function(e) {
// Queue up events for server.
}, false);
Postei uma demonstração funcional em http://html5-demos.appspot.com/static/navigator.onLine.html (link em inglês) e mais informações sobre eventos off-line podem ser encontradas na MDN.