Navigator.onLine

Retorna o estado da conexão do navegador. A propriedade retorna um valor booleano, com true significando online e false significando offline. A propriedade envia atualizações assim que a capacidade do navegador de se conectar a rede muda. A atualização ocorre quando o usuário entra em um link ou quando algum script faz uma requisição a uma página remota. Exemplo, a propriedade deve retornar false quando usuários clicam em links assim que perderem suas conexões com a internet.

Navegadores implementam esta propriedade de formas diferentes.

No Chrome e Safari, caso o navegador não for capaz de se conectar a uma rede local (LAN) ou a um roteador, ele está offline; em todas as outras condições, retorna true. Utilizar essa propriedade para determinar que o navegador está offline seja sempre que o navegador retornar false como valor pode gerar falsos positivos, em casos em que o computador está executando um software de virtualização que tem adaptadores de ethernet virtuais que sempre estão "conectados." ou quando o computador estiver conectado ao roteador e este estiver sem internet. Se você realmente quer determinar o estado da conexão do navegador, você deve desenvolver meios adicionais para esta verificação. Para aprender mais, veja o artigo do HTML5 Rocks, Working Off the Grid.

No Firefox e Internet Explorer, mudar o navegador para o modo offline envia um valor false. Até o Firefox 41, todas as outras condições retornam um valor true; desde o Firefox 41, no OS X e Windows, o valor seguirá a conectividade real da rede.

Você pode ver mudanças no estado da rede escutando os eventos window.ononline e window.onoffline.

Sintaxe

online = window.navigator.onLine;

Valor

online é um booleano true ou false.

Exemplo

Veja  um exemplo ao-vivo.

Para verificar se você está online, chame window.navigator.onLine, como no exemplo abaixo:

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

Caso o navegador não suporta o exemplo de navigator.onLine acima, ele sempre retornará false/undefined.

Para ver mudanças no estado da rede, use addEventListener para escutar os eventos em window.online e window.offline, como no exemplo abaixo:

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

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

Especificações

Especificações Status Comentário
HTML Living Standard
The definition of 'navigator.onLine' in that specification.
Padrão em tempo real Definição inicial

Compatibilidade com os navegadores

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
onLineChrome Full support Yes
Notes
Full support Yes
Notes
Notes Earlier versions of Chrome incorrectly return true when a tab is first opened, but it starts reporting the correct connectivity status after the first network event. Windows: 11, Mac: 14, Chrome OS: 13, Linux: Always returns true. For history, see crbug.com/7469.
Edge Full support YesFirefox Full support 3.5
Notes
Full support 3.5
Notes
Notes Since Firefox 4 the browser returns true when 'Work Offline' mode is disabled and false when it is enabled, regardless of actual connectivity.
Full support 4
Notes
Notes Since Firefox 41, on OS X and Windows, the returned values follow the actual network connectivity, unless 'Work offline' mode is selected (where it will always return false).
IE Full support 8
Notes
Full support 8
Notes
Notes in Internet Explorer 8 'online' and 'offline' events are raised on the document.body; under IE 9 they are raised on both document.body and window.
Opera No support No
Notes
No support No
Notes
Notes Since Opera 11.10, the browser returns true when 'Work Offline' mode is disabled and false when it is enabled, regardless of actual connectivity.
Safari Full support 5WebView Android Full support Yes
Notes
Full support Yes
Notes
Notes Faulty in a WebView component, see Issue bug 16760.
Chrome Android Full support YesFirefox Android Full support 4Opera Android ? Safari iOS Full support YesSamsung Internet Android ?

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown
See implementation notes.
See implementation notes.

Notas

Veja s eventos Online/Offline para descrições mais detalhadas desta propriedade assim como novas funcionalidades offline introduzidas no Firefox 3.

Veja também