Meiner Erfahrung nach ist der HTML5 AppCache großartig, wenn man ihn einmal zum Laufen gebracht hat, aber extrem spröde. Wenn auch nur der kleinste Fehler auftritt, ignoriert der Browser die gesamte Datei und lädt ärgerlicherweise alles vom Server neu, anstatt den normalen Cache des Browsers zu verwenden.
Schlimmer noch, die Browser wird die Manifestdatei nicht neu geladen es sei denn, sein Textinhalt Änderungen. Sie könnten also Ihre Server-Header oder etwas anderes ändern, um das Problem zu beheben, aber solange der Inhalt von cache.manifest.php
Änderungen wird der Browser sie blind ignorieren und die genau das, was es beim letzten Mal getan hat . Es könnte also defekt gewesen sein, dann haben Sie es repariert, aber die Browser ignorieren die Änderungen, weil der Textinhalt von cache.manifest.php
hat sich nicht geändert. Dies scheint sogar immun gegen das Löschen des Browser-Caches zu sein, was es teilweise so verwirrend macht - der App-Cache nimmt das Zwischenspeichern sehr, sehr ernst.
Um dies zu umgehen, zählen Textänderungen in Kommentaren, daher sollte am Anfang ein Kommentar mit einem Versions- oder Zeitstempel oder dem Datum stehen (z. B. # Version 1.2
) und ändern Sie das, wenn Sie möchten, dass der Browser "merkt".
Dann wird der Browser sie trotzdem nicht sofort verwenden! Die Art und Weise, wie der App-Cache funktioniert, ist das nächste Mal, wenn Sie die Seite laden, wird es tun genau das, was es beim letzten Mal getan hat und beginnt, im Hintergrund nach einer Aktualisierung zu suchen. Sie möchten also wahrscheinlich, dass die Konsole angezeigt wird, warten Sie auf etwas wie "Aktualisierung..." und dann auf "abgeschlossen", dann Klicken Sie auf Aktualisieren, damit der Browser endlich die neue Version verwendet. Na endlich!
Alles in allem kann es recht mühsam sein, es zum Laufen zu bringen. Wenn es jedoch einmal funktioniert, ist es nahezu kugelsicher: Sie können sich darauf verlassen, dass alles, was im Cachemanifest aufgeführt ist, nur heruntergeladen wird einmal , immer für alle Zeit, pro Benutzer, bis Sie den Textinhalt der Datei ändern.
Die Einhaltung von Browser-Standards ist heutzutage ziemlich gut, also ist meine beste Vermutung, dass es bei Ihnen tatsächlich funktioniert, aber Sie haben zuletzt Chrome überprüft, und das ist der einzige Browser, der die Manifestdatei korrekt zwischengespeichert hat. Während der Entwicklung war es vielleicht kaputt, aber Firefox und Opera klammern sich bis in den Tod an ihre alten Manifestdateien. Ich wette, Sie haben auch versucht, den Browser-Cache in Firefox und Opera zu löschen, was wahrscheinlich nichts gebracht hat - Sie müssen den Textinhalt der Datei ändern und zweimal neu laden, bevor Firefox und Opera endlich ihre kaputten Versionen der Manifestdatei aufgeben und diejenige verwenden, die funktioniert und die Sie wahrscheinlich vor Ewigkeiten hochgeladen haben.