Detekce online stavu pomocí JavaScriptu

Zdá se, že za poslední rok nebo dva došlo k velkému tlaku na to, aby se procházení offline stalo příjemným zážitkem z webu. velkou část tohoto tlaku pravděpodobně tvoří mobilní aplikace HTML5 nebo jen webové aplikace obecně. Samozřejmě by bylo užitečné, kdybychom mohli určit, zda je uživatel v tu chvíli online, a navigator Property slibuje, že nám tuto odpověď poskytne.

navigator.onLine

navigator.onLine vlastnost poskytuje booleovskou hodnotu pro to, zda je uživatel připojen k internetu či nikoli. Můžete přistupovat jako takový:

if(navigator.onLine) { // true|false
	// ...
}

Není to snazší než to!

Události

Kromě kontroly hodnoty vlastnosti se můžete připojit k offline a online události:

function updateIndicator() {
	// Show a different icon based on offline/online
}

// Update the online status icon based on connectivity
window.addEventListener('online',  updateIndicator);
window.addEventListener('offline', updateIndicator);
updateIndicator();

Pokud chcete, hloupá škola old school můžete použít ononline a onoffline atributy na body štítek. Hrubý.

Napadá mě mnoho využití pro tyto akce a nemovitost samotnou. Pokud uživatel například pracoval lokálně bez připojení, webová aplikace by to mohla zjistit a uložit všechny změny v rámci localStorage, dokud se uživatel nepřipojí k internetu, a poté aplikace nebude moci odeslat data na server. To je jen jeden příklad, jsem si jistý, že by vás napadlo mnoho dalších!

Existuje však obava, že toto API není spolehlivé. Základní záložní možností by bylo dotazování na danou adresu a vrácení požadované odpovědi.