Navigator.onLine no canal Chrome Dev

Com as APIs off-line em HTML5, não há desculpa para não oferecer uma experiência off-line perfeita aos usuários. Uma coisa que pode ajudar nessa história é a propriedade navigator.onLine, um recurso lançado recentemente no canal de desenvolvimento 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);

Postamos uma demonstração em funcionamento em http://html5-demos.appspot.com/static/navigator.onLine.html. Mais informações sobre eventos off-line podem ser encontradas na MDN.