Ich habe eine alte Version einer JS-Datei in den Browsern der Benutzer zwischengespeichert, mit einem Ablaufdatum von 10 Jahren (seither habe ich gelernt, Ablaufverzeichnisse korrekt auf meinem Webserver zu setzen). Ich habe die JS-Datei aktualisiert und möchte, dass meine Benutzer davon profitieren.
EDIT: Idealerweise möchte ich dieses Problem lösen ohne HTML-Markup auf der Seite zu ändern, die das Skript hostet.
In HTML5 können Sie den Anwendungscache verwenden, mit dem Sie steuern können, wann der Cache abläuft
Sie müssen den Pfad zum Manifest hinzufügen
<!DOCTYPE HTML><html manifest="demo.appcache">
In Ihrer Datei demo.appcache können Sie einfach jede Datei, die Sie zwischenspeichern möchten,
platzieren %Vor%Wenn der Browser eine neue Datei herunterladen soll, können Sie das Manifest
aktualisieren %Vor%Achten Sie darauf, das Cache-Manifest mit dem Veröffentlichungsdatum oder der Version (oder etwas anderem) zu ändern, wenn der Browser sieht, dass das Manifest geändert wurde und alle Dateien darin heruntergeladen werden.
Wenn das Manifest nicht geändert wird, aktualisiert der Browser die lokale Datei nicht, selbst wenn diese Datei auf dem Server geändert wurde.
Weitere Informationen finden Sie im HTML5-Anwendungscache
Sie könnten Ihren URLs einen Dummy-Parameter hinzufügen
%Vor%[e: f; b]
Das Hauptproblem ist, dass wenn Sie den Ablauf mit einem einfachen "Expires" -Header einrichten, dann werden die Browser, die die Datei im Cache haben, nicht einmal die Mühe machen, Sie zu kontaktieren. Selbst wenn es einen Weg für das Skript gäbe, den Browser in den Kopf zu schlagen und den Cache zu löschen, macht dein altes Skript das nicht , also hast du keine Möglichkeit, diese Funktionalität den Clients zu übergeben .
Tags und Links javascript caching firefox