Una parte delle specifiche di HTML5 è dedicate alle Offline Apps, cioè alle app che devono funzionare in offline. Questo è reso possibile attraverso una serie di specifiche, come LocalStorage, che consentono di salvare localmente al browser i dati.
Per poter fare in modo che, una volta che il client torni online, i dati salvati in locale possano essere inviati al server, oltre che per salvarli in locale quando non c'è rete, queste API prevedono un attributo onLine sull'oggetto Navigator e due eventi, chiamati online e offline, per recuperare lo stato attraverso l'oggetto Window.
window.onload = function () { window.addEventListener("online", showStatus, false); window.addEventListener("offline", showStatus, false); showStatus(); }; function showStatus() { document.getElementById("status").innerHTML = (navigator.onLine) ? "ONLINE" : "OFFLINE"; };
Grazie a questo script potremo intercettare lo stato del browser. Si può simulare questo stato con Internet Explorer, attraverso scegliendo la voce Work offline.
Per approfondimenti sulle OffLine Apps si veda:
#43 - Salvare dati sul client con Web Storage
https://www.html5italia.com/script/43/Salvare-Dati-Client-Web-Storage.aspx
Mobile Web Applications: come ottenere un'esperienza native-like gestendo l'offline
https://www.html5italia.com/articoli/html5/mobile-web-applications.aspx
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Copiare automaticamente le secret tra più repository di GitHub
Evitare il flickering dei componenti nel prerender di Blazor 8
Evitare la command injection in un workflow di GitHub
Ottimizzare il mapping di liste di tipi semplici con Entity Framework Core
Autenticarsi in modo sicuro su Azure tramite GitHub Actions
Sostituire la GitHub Action di login su private registry
Registrare servizi multipli tramite chiavi in ASP.NET Core 8
Hosting di componenti WebAssembly in un'applicazione Blazor static
Creare form tipizzati con Angular
Gestire errori funzionali tramite exception in ASP.NET Core Web API
Utilizzare HiLo per ottimizzare le insert in un database con Entity Framework
Effettuare chiamate con versioning da Blazor ad ASP.NET Core