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
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
suchenIch 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.
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:)
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.
In meinem Fall muss ich den traditionellen Browser-Cache mithilfe von Meta-Tags deaktivieren. Siehe diese SO-Frage wie man das macht
Tags und Links javascript manifest offline