window.navigator.onLine

Renvoie l'état en ligne du navigateur. La propriété renvoie une valeur Booléenne (en-US), avec true signifiant en ligne et false signifiant hors ligne. La propriété envoie des mises à jour chaque fois que la capacité du navigateur à se connecter au réseau change. La mise à jour se produit lorsque l'utilisateur suit des liens ou lorsqu'un script demande une page distante. Par exemple, la propriété doit renvoyer false lorsque les utilisateurs cliquent sur des liens peu de temps après avoir perdu la connexion Internet.

Les navigateurs implémentent cette propriété différemment.

Dans Chrome et Safari, si le navigateur ne parvient pas à se connecter à un réseau local (LAN) ou à un routeur, il est hors ligne; toutes les autres conditions renvoient true. Ainsi, bien que vous puissiez supposer que le navigateur est hors ligne lorsqu'il renvoie une valeur false, vous ne pouvez pas supposer qu'une valeur vraie signifie nécessairement que le navigateur peut accéder à Internet. Vous pourriez obtenir de faux positifs, par exemple dans les cas où l'ordinateur exécute un logiciel de virtualisation doté d'adaptateurs Ethernet virtuels toujours «connectés». Par conséquent, si vous souhaitez vraiment déterminer l'état en ligne du navigateur, vous devez développer des moyens supplémentaires de vérification. Pour en savoir plus, consultez l'article HTML5 Rocks, Working Off the Grid.

Dans Firefox et Internet Explorer, le passage du navigateur en mode hors ligne envoie la valeur false. Jusqu'à Firefox 41, toutes les autres conditions renvoient une valeur vraie; tester le comportement réel sur Nightly 68 sous Windows montre qu'il ne recherche que la connexion LAN comme Chrome et Safari donnant de faux positifs.

Vous pouvez voir les changements dans l'état du réseau en écoutant les événements sur window.ononline et window.onoffline.

Syntaxe

window.navigator.onLine

Valeur

online est un Booléen (en-US) true ou false.

Exemple

Voir un exemple en direct.

Pour vérifier si vous êtes en ligne, interrogez window.navigator.onLine, comme dans l'exemple suivant:

console.log(navigator.onLine ? 'online' : 'offline')

Si le navigateur ne prend pas en charge navigator.onLine, l'exemple ci-dessus apparaîtra toujours comme false / undefined.

Pour voir les modifications de l'état du réseau, utilisez addEventListener pour écouter les événements sur window.online et window.offline, comme dans l'exemple suivant:

window.addEventListener('offline', function(e) { ... })
window.addEventListener('offline', (e) => { ... })

window.addEventListener('online', function(e) { ... })
window.addEventListener('online', (e) => { ... })

Spécifications

Spécification État Commentaire
HTML Living Standard
La définition de 'navigator.onLine' dans cette spécification.
Standard évolutif Définition initiale

Compatibilité des navigateurs

No compatibility data found for api.NavigatorOnLine.onLine.
Check for problems with this page or contribute missing data to mdn/browser-compat-data.

Notes

Voir Événements en ligne / hors ligne (en-US) pour une description plus détaillée de cette propriété ainsi que des nouvelles fonctionnalités hors ligne introduites dans Firefox 3.

Voir également