- Pour les grandes bibli, ajouter un visuel que l'appli est en train de charger les données en cache
22 lines
1.1 KiB
JavaScript
22 lines
1.1 KiB
JavaScript
// É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();
|
|
}
|