Cache-Manifest Offline-App, die JavaScript-Dateien in Chrome nicht aktualisiert

8

Ich arbeite an einer Offline-Webanwendung mit einer Cache-Manifestdatei. Ich habe Probleme, meine Javascript-Dateien zu aktualisieren. Wenn ich eine .js-Datei ändere (die in der Manifest-Datei aufgeführt ist), ändere ich dann die Versionsnummer der Manifest-Datei. und speichern Sie es, dann wird die geänderte .js-Datei nicht erneut auf dem Client geladen. Was muss ich tun, um .js-Dateien zu aktualisieren?

Danke

    
Journeyman 03.05.2011, 13:36
quelle

5 Antworten

11

Das liegt daran, dass der Webserver dem Browser mitteilt, dass er statische Dateien für einige Stunden zwischenspeichern kann. Der Browser weiß also nicht, dass die Manifestdatei geändert wurde. Sie können alle Anwendungsdaten löschen oder den Webserver so konfigurieren, dass das Manifest nicht cachefähig ist ...

Lesen Sie Ссылка für weitere Informationen

Wenn Sie den App-Cache in Chrome löschen möchten, verwenden Sie chrome: // appcache-internals / und von Hand müssen Sie in C: \ Dokumente und Einstellungen \ YOURUSERNAME \ Lokale Einstellungen \ Anwendungsdaten \ Google \ Chrome \ Benutzerdaten \ Default \ Cache

suchen     
amernov 27.05.2011, 14:45
quelle
4

Ich hatte angenommen, dass Sie, wenn Sie ein Cache-Manifest verwenden und dann das Manifest aktualisieren, dass der Browser alle Dateien erneut anfordern würde. Ich habe jedoch festgestellt, dass ich Header in allen Dateien im Manifest explizit festlegen musste, um den Browser anzuweisen, die Dateien nicht zwischenzuspeichern. Ich glaube, sobald das Manifest den Browser anweist, die Datei erneut anzufordern, behandelt der Browser sie wie jede andere nicht manifestierte zwischengespeicherte Datei. Vielleicht ist das ein Fehler in Chrome, aber ich habe das Gefühl, dass ich das in einem anderen WebKit-Browser gesehen habe.

Unabhängig davon sollten Sie die Header für die Dateien im Manifest so einstellen, dass sie niemals zwischengespeichert werden, und sie sollten beim Aktualisieren des Manifests neu geladen werden. Wenn diese Dateien außerhalb einer Manifestseite verwendet werden, müssen Sie die Dateien möglicherweise entsprechend Ihren Anforderungen zwischenspeichern.

    
B. Melonis 21.04.2012 15:12
quelle
3

Geben Sie chrome://appcache-internals in Ihre Adressleiste ein und klicken Sie dann auf EINGABE

Eine Liste der zwischengespeicherten Manifeste wird angezeigt. Löschen Sie dann einfach die gewünschte Datei und alles wird aktualisiert, wenn Sie Ihre Seite erneut laden.

Hoffe das hilft:)

    
Dumisani 18.02.2015 08:37
quelle
1

Ich hatte das gleiche Problem, bis ich diese unbezahlbare Warnung auf der Mozilla Developer Site

  

Wichtig: Geben Sie das Manifest selbst nicht im Cache-Manifest an   Datei , sonst ist es fast unmöglich, den Browser a zu informieren   neues Manifest ist verfügbar.

Woops. mein Fehler.

Allerdings muss ich jedes Mal, wenn ich etwas im Code ändere, etwas im Manifest ändern und dann zweimal neu laden, was ein Problem ohne Zusammenhang ist.

    
user1311069 30.10.2013 16:31
quelle
0

In meinem Fall muss ich den traditionellen Browser-Cache mithilfe von Meta-Tags deaktivieren. Siehe diese SO-Frage wie man das macht

    
Garry 13.04.2016 00:13
quelle

Tags und Links