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
Bloccare l'esecuzione di un pod in mancanza di un'artifact attestation di GitHub
Supportare lo HierarchyID di Sql Server in Entity Framework 8
Il nuovo controllo Range di Blazor 9
Ottimizzare le performance usando Span<T> e il metodo Split
Conoscere il rendering Server o WebAssembly a runtime in Blazor
Utilizzare i primary constructor di C# per inizializzare le proprietà
Gestione dei nomi con le regole @layer in CSS
Escludere alcuni file da GitHub Secret Scanning
Aggiornare a .NET 9 su Azure App Service
Gestire il colore CSS con HWB
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
Eseguire query manipolando liste di tipi semplici con Entity Framework Core