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
Registrare servizi multipli tramite chiavi in ASP.NET Core 8
Criptare la comunicazione con mTLS in Azure Container Apps
Eseguire query verso tipi non mappati in Entity Framework Core
Sfruttare lo streaming di una chiamata Http da Blazor
Gestire la cancellazione di una richiesta in streaming da Blazor
Aggiungere interattività lato server in Blazor 8
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
Utilizzare Azure AI Studio per testare i modelli AI
Utilizzare la libreria Benchmark.NET per misurare le performance
Utilizzare politiche di resiliency con Azure Container App
Routing statico e PreRendering in una Blazor Web App
Creazione di plugin per Tailwind CSS: espandere le Funzionalità del Framework