--- title: window.navigator.onLine slug: Web/API/NavigatorOnLine/onLine tags: - API - DOM Reference - NavigatorOnLine - Online - Property - Reference translation_of: Web/API/NavigatorOnLine/onLine ---
ブラウザの接続状態を返します。このプロパティは真偽値を返して 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
には true
か false
の真偽値が返されます。
live example をご覧ください。
オンラインであるかを確認するには、以下のサンプルのように window.navigator.onLine
を確認します:
if (navigator.onLine) { console.log('online'); } else { console.log('offline'); }
ブラウザが navigator.onLine
をサポートしない場合は、上記のサンプルでは常に false
/undefined
が返ります。
ネットワーク接続状態の変化を確認するには、以下のように window.online
および window.offline
をリッスンするため addEventListener
を使用します:
window.addEventListener("offline", function(e) { console.log("offline"); }); window.addEventListener("online", function(e) { console.log("online"); });
仕様書 | 策定状況 | コメント |
---|---|---|
{{SpecName("HTML WHATWG", "browsers.html#navigator.online", "navigator.onLine")}} | {{Spec2("HTML WHATWG")}} | 最初期の定義 |
Firefox 3 で導入された新しいオフライン関連イベントと、このプロパティの詳しい説明は、Online/Offline Events を参照してください。