ブラウザの接続状態を返します。このプロパティは真偽値を返して true はオンライン、false はオフラインを表します。ブラウザのネットワーク接続状態が変化するたびに、プロパティを更新します。この更新はユーザがリンクをたどる、あるいはスクリプトがリモートページを要求するときに発生します。例えばインターネットへの接続が失われた後にユーザがリンクをクリックすると、このプロパティは false を返します。

このプロパティの実装は、ブラウザにより異なります。

Chrome および Safari は、ブラウザがローカルエリアネットワーク (LAN) またはルータに接続できないときにオフライン、それ以外の状況では true を返します。従って、false 値が返る場合はブラウザがオフラインであると考えることができますが、true 値は必ずインターネットにアクセスできると考えることはできません。仮想イーサネットアダプタを持つ仮想化ソフトウェアを実行しているコンピュータでは常に "接続中" になるなど、偽陽性になる可能性があります。よって、実際のブラウザのオンライン状態を検出したい場合は、付加的なチェック方法を開発するべきでしょう。詳しくは HTML5 Rocks の記事 Working Off the Grid をご覧ください。

Firefox および Internet Explorer は、ブラウザをオフラインモードに切り替えると false 値を送信します。Firefox 41 まで、他の状態では true 値を返していました。Firefox 41 より OS X および Windows で、実際のネットワーク接続状態に従って値を返します。

window.ononline および window.onoffline イベントをリッスンすることにより、ネットワーク接続状態の変化を確認できます。

構文

online = window.navigator.onLine;

online には truefalse の真偽値が返されます。

live example をご覧ください。

オンラインであるかを確認するには、以下のサンプルのように window.navigator.onLine を確認します:

if (navigator.onLine) {
  console.log('online');
} else {
  console.log('offline');
}

ブラウザが navigator.onLine をサポートしない場合は、上記のサンプルでは常に false/undefined が返ります。

ネットワーク接続状態の変化を確認するには、以下のように window.ononline および window.onoffline をリッスンするため addEventListener を使用します:

window.addEventListener("offline", function(e) { console.log("offline"); });

window.addEventListener("online", function(e) { console.log("online"); });

仕様

仕様書 策定状況 コメント
HTML Living Standard
navigator.onLine の定義
現行の標準 最初期の定義

ブラウザ実装状況

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

機能 Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
基本サポート (有)[1] 3.5 (1.9.1)[2]
4.0 (2.0)[4]
8[3] 未サポート[2] 5.0.4
WorkerNavigator でサポート Yes 29 (29) ? ? ?
機能 Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile BlackBerry
基本サポート 2.2[5] 1.0 (1.9.1)[2] ? ? ? 7
10
WorkerNavigator でサポート ? 29.0 (29) ? ? ? ?

[1] 古いバージョンの Chrome は、最初にタブを開いたときに誤って true を返しており、最初のネットワークイベントの後に正しい接続状態を返していました。Windows: 11、Mac: 14、Chrome OS: 13、Linux: 常に true を返します。履歴については crbug.com/7469 をご覧ください。

[2] Firefox 4 以降および Opera 11.10 は、実際の接続状態に関わらず "オフライン作業" を無効化すると true を、有効にすると false を返します。

[3] Internet Explorer 8 の "online" および "offline" イベントは document.body で発生します。IE 9 では document.body および window の両方で発生します。

[4] Firefox 41 より、OS X および Windows では "オフライン作業" モード (常に false を返します) を選択しない限り、実際のネットワーク接続状態に従って値を返します。

[5] WebView コンポーネントでは欠陥があります。Issue 16760 をご覧ください。

注記

Firefox 3 で導入された新しいオフライン関連イベントと、このプロパティの詳しい説明は、Online/Offline Events‎ を参照してください。

関連情報

ドキュメントのタグと貢献者

 このページの貢献者: yyss, dextra, fscholz, khalid32, ethertank, Potappo, Norah, Mgjbot
 最終更新者: yyss,