Chrome Dev チャンネルの navigator.onLine

Eric Bidelman 氏

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 をご覧ください。