Ich habe zwei verschiedene Arten versucht, und beide funktionieren nicht:Wie mache ich eine Skriptaktualisierung für Browser, wenn Manifest-Updates, aber Caching erlauben?
1. Aktualisieren Sie das Manifest so sieht Browser gibt es Änderungen und Aktualisierungen
Dies aktualisiert alle Dateien außer JavaScript-Dateien. Der Browser sieht einen Unterschied, lädt alles herunter (einschließlich JavaScript-Dateien), verwendet aber die zwischengespeicherte Version der JavaScript-Dateien.
2. Senden no-cache-Header (siehe Code unten) Caching von Skript zu stoppen Dateien
Dies bewirkt, dass der Browser einen Fehler werfen und nichts mehr zwischenzuspeichern. Es besagt, dass ein ApplicationCache-Fehler aufgetreten ist.
Der no-cache-Code:
<filesMatch "\.(js)$">
FileETag None
<ifModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
</ifModule>
</filesMatch>
Die oben macht alle Browser nicht Cache die App für die Offline-Nutzung.
Gibt es einen Weg um dies?
Zunächst ist zu beachten, scheint die Anwendung Cache veraltet werden (aber immer noch die einzige Lösung): https://developer.mozilla.org/en-US/docs/Web/HTML/Using_the_application_cache Wie wissen Sie, dass die Browser lädt die Skripte herunter? Ich finde es schwer zu glauben, dass es erfolgreich lädt, aber es nicht verwendet. Es könnte einen "304 - Nicht geändert" Status geben. – msoft