Wydaje się, że skoro masz oczywisty wpis, a la:Kiedy dokument HTML ma manifest (cache.manifest), jak możesz go usunąć?
<html manifest="cache.manifest">
Następnie ta strona (wejście mistrz w pamięci podręcznej) zawsze będą buforowane (przynajmniej przez Safari), dopóki użytkownik ma coś do usunięcia pamięć podręczną, nawet jeśli później usuniesz atrybut manifestu ze znacznika html i zaktualizujesz manifest (zmieniając coś w nim), zmuszając do ponownego załadowania wpisu głównego wraz ze wszystkim innym.
Innymi słowy, jeśli masz:
- index.html (z oczywistego wyżej)
- file1.js (wymieniony w manifeście)
- file2.js (wymieniony w manifeście)
- cache.manifest (wymienia dwóch JS pliki)
- usunięcie wpisu z manifestu index.html i modyfikowania manifest (więc wygasa przez przeglądarkę i cała zawartość ponownie załadowana) nie powstrzyma tej strony od zachowywania się, jakby nadal była w pełni zapisana w pamięci podręcznej. Jeśli wyświetlisz źródło na index.html, nie zobaczysz już listy manifestów, ale przeglądarka będzie nadal żądać tylko pliku cache.manifest, i dopóki zawartość tego pliku nie zostanie zmieniona, żadne zmiany w żadnym pliku nie będą wyświetlane użytkownik.
Wygląda na dość poważny błąd i jest obecny w wersjach Safari na iOS i Mac. Czy ktoś znalazł sposób na zresetowanie strony i pozbycie się pamięci podręcznej bez interwencji użytkownika?
Zwrócenie 404 wydaje się wyładowywać grupę pamięci podręcznej w przeglądarce Chrome. Dzięki za wykonanie badań na ten temat! Próbowałem zwrócić pusty manifest cache i nie zwalnia on zasobów z pamięci podręcznej. –
Potwierdzam, że to działa. Musisz ponownie załadować stronę, aby zobaczyć wynik. – Soska