Service worker enregistré une fois le moteur chargé
Dans Chromium, l'installation du service worker échouait (« Cache.add() encountered a network error » sur wasm/engine.data) quand le Worker du moteur téléchargeait les mêmes 8,7 Mo au même moment : l'application n'était alors pas disponible hors ligne. Repéré par make test-browser, reproduit dans quatre essais sur cinq sans ce changement, jamais avec. Évite aussi de télécharger deux fois ces données à la première visite. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
ae1ea54782
commit
9cc0e0ccd5
+7
-1
@@ -37,6 +37,12 @@ startApp({
|
||||
|
||||
// Hors ligne : le service worker met tout le site en cache. Le navigateur le
|
||||
// refuse hors https (sauf localhost) : l'application marche alors sans.
|
||||
// Il est enregistré une fois le moteur chargé : si le Worker et le service
|
||||
// worker téléchargent les données du moteur (8,7 Mo) en même temps, Chromium
|
||||
// fait échouer l'installation (« Cache.add() encountered a network error »),
|
||||
// et l'application n'est pas disponible hors ligne. Cela évite aussi de
|
||||
// télécharger deux fois ces données à la première visite.
|
||||
if ("serviceWorker" in navigator) {
|
||||
navigator.serviceWorker.register(new URL("../sw.js", import.meta.url)).catch(() => {});
|
||||
const sw = new URL("../sw.js", import.meta.url);
|
||||
worker.ready.then(() => navigator.serviceWorker.register(sw)).catch(() => {});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user