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
Utilizzare politiche di resiliency con Azure Container App
Miglioramenti agli screen reader e al contrasto in Angular
Estrarre dati randomici da una lista di oggetti in C#
Creare un'applicazione React e configurare Tailwind CSS
Supportare il sorting di dati tabellari in Blazor con QuickGrid
Definire stili a livello di libreria in Angular
Visualizzare le change sul plan di Terraform tramite le GitHub Actions
Esporre i propri servizi applicativi con Semantic Kernel e ASP.NET Web API
Creazione di plugin per Tailwind CSS: espandere le funzionalità del framework dinamicamente
Creare una custom property in GitHub
C# 12: Cosa c'è di nuovo e interessante
Routing statico e PreRendering in una Blazor Web App