Mozilla's getting a new look. What do you think? https://mzl.la/brandsurvey

window.navigator.onLine Redirect 1

There was a scripting error on this page. While it is being addressed by site editors, you can view partial content below.

{{ DomRef }}

Summary

Returns the online status of the browser. The property returns a boolean value, with true for being online and false for being offline. The property sends updates whenever the browser's ability to connect to the network changes. The update occurs when the user follows links or when a script requests a remote page. For example, the property should return false when users click links soon after they lose internet connection.

Browsers implement this property differently.

In Chrome and Safari, if the browser is not able to connect to a local area network (LAN) or a router, it is offline; all other conditions return true. So while you can assume that the browser is offline when it returns a false value, you cannot assume that a true value necessarily means that the browser can access the internet. You could be getting false positives, such as in cases where the computer is running a virtualization software that has virtual ethernet adapters that are always "connected." Therefore, if you really want to determine the online status of the browser, you should develop additional means for checking. To learn more, see the HTML5 Rocks article, Working Off the Grid.

In Firefox and Internet Explorer, switching the browser to offline mode sends a false value. All other conditions return a true value.

You can see changes in the network state by listening for the events on window.onOnline and window.onOffline.

Syntax

online = window.navigator.onLine;

online is a boolean true or false.

Example

View a live example.

To check if you are online, query window.navigator.onLine, as in the following example:

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

If the browser doesn't support navigator.onLine the above example will always come out as falsy (false/undefined)

 

To see changes in the network state, listen (using addEventListener) for the for the events on window.onOnline and window.onOffline, as in the following example:

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

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

Browser compatibility

Feature Chrome** Firefox (Gecko)* Internet Explorer Opera* Safari (WebKit)
Basic support

Windows: 11
Mac: 14
Chrome OS: 13
Linux: Always returns true

For history, see crbug.com/7469

Not supported
bug 336359
bug 426932
bug 620472

bug 654579

8*** Not supported 5.0.4
Feature Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
Basic support Android 2.2 (Faulty in a WebView component, see Issue 16760) ? ? ? ?

* Firefox 4, and Opera 11.10 return true when "Work Offline" mode is disabled and false when it is enabled, regardless of actual connectivity.

** Earlier versions of Chrome incorrectly returns true when a tab is first opened, but it starts reporting the correct connectivity status after the first network event.

*** in IE 8 "online" and "offline" events are raised on the document.body, under IE 9 - on both document.body and window

Notes

See Online/Offline Events‎ for a more detailed description of this property as well as new offline-related features introduced in Firefox 3.

Specification

Described in the HTML 5 Working draft

See also

Document Tags and Contributors

 Last updated by: Sheppy,