HTML5 のオフライン API を使えば、完璧なオフライン エクスペリエンスを提供してはいけません。この説明で役に立つものが navigator.onLine
プロパティです。これは、最近 Chrome の Dev チャンネルに導入されました。このプロパティは、アプリがネットワーク接続されているかどうかに応じて、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 をご覧ください。