- Ajout d'un bouton pour forcer la mise à jour (si coupure internet pdt le dl, il faut tout désinstaller et re-instalter...).
- Pour les grandes bibli, ajouter un visuel que l'appli est en train de charger les données en cache
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
// Échappatoire manuelle au comportement par défaut du service worker (qui attend la fermeture
|
||||
// de TOUS les onglets avant d'activer une nouvelle version — voir js/mise-a-jour.js) : on
|
||||
// désinscrit le worker et on vide le Cache Storage qu'il a rempli, puis on recharge. La page
|
||||
// suivante repart de zéro et réenregistre un worker propre sur les fichiers actuels du serveur.
|
||||
//
|
||||
// ⚠️ Ne touche PAS à IndexedDB (cache-hors-ligne.js) : ces instantanés sont les données de
|
||||
// lecture hors-ligne de l'utilisateur, pas du code périmé — les effacer n'aiderait à rien ici
|
||||
// et ferait perdre la seule consultation possible sans réseau.
|
||||
export async function forcerMiseAJour() {
|
||||
if ('serviceWorker' in navigator) {
|
||||
const enregistrements = await navigator.serviceWorker.getRegistrations();
|
||||
await Promise.all(enregistrements.map(enregistrement => enregistrement.unregister()));
|
||||
}
|
||||
|
||||
if ('caches' in self) {
|
||||
const cles = await caches.keys();
|
||||
await Promise.all(cles.map(cle => caches.delete(cle)));
|
||||
}
|
||||
|
||||
window.location.reload();
|
||||
}
|
||||
Reference in New Issue
Block a user