Jak wymusić odświeżenie bez pamięci podręcznej w Google Chrome? [duplikować]

307

To pytanie ma już odpowiedź tutaj:

Czy Chrome ma odpowiednik odświeżania Ctrl + F5 w Firefoksie? Nie mogę tego znaleźć.

Ostatniej nocy zmieniłem mojego gravatara i widzę nowy w Firefoksie po odświeżeniu Ctrl + F5, ale Chrome uparcie trzyma się starego Gravatara. Myślę, że mógłbym ręcznie wyczyścić pamięć podręczną, ale jeśli jest do tego polecenie klawiaturowe, chciałbym wiedzieć, co to jest (ponieważ byłoby to pomocne również w przypadku tworzenia stron internetowych).

Wyrko
źródło
18
CTR + R, a następnie CTRL + F5, raz lub dwa - zwykle rozwiązuje problem. Lub wyłącz pamięć podręczną w Narzędziach programisty -> Sprog (prawy botom) -> Sieć - Wyłącz pamięć podręczną .. przeładuj stronę i spróbuj ją wyłączyć.
Piotr Kula
1
Nowa wspaniała funkcja dodana do Chrome w celu wymuszenia twardego odświeżenia - superuser.com/a/512833/92862
Coops

Odpowiedzi:

197

Dokumentacja Chrome stwierdza, że Ctrl+ F5lub Shift+ F5powinny robić „Przeładuj bieżącą stronę, ignorując buforowaną zawartość”.

Jeśli to nie działa, możesz zgłosić błąd , ale wygląda na to, że wiele innych osób ma ten sam problem.

[Istniejący dziennik błędów dotyczący tego problemu] Zamknięty jako duplikat, problem pozostaje:

[ Problem: 94090 ]

William Hilsum
źródło
1
Wygląda na to, że może to być częściowo wina Gravatara. W nagłówku mojego obrazu wysyłają Last-Modified: Fri, 20 Jun 2008 12:25:23 GMT. Myślę, że jest to data wysłania mojego starego Gravatara lub data rejestracji w Gravatar. Przeglądarka musi to zobaczyć i pomyśleć „och, ten nowy plik ma tę samą datę ostatniej modyfikacji, więc po prostu będę nadal używać pamięci podręcznej”. To błąd, jeśli Chrome robi to przy odświeżaniu, ignorując pamięć podręczną, ale jest to błąd, w którym Gravatar również wysyła niewłaściwą ostatnią modyfikację. Skontaktowałem się z obiema stronami. :)
Kip
4
Ładuję skrypty asynchronicznie z javascript, a Chrome wydaje się nadal używać wersji z pamięci podręcznej, nawet po ctrl-f5 itp. Czyszczenie pamięci podręcznej działa. Ale innym rozwiązaniem jest otwarcie okna incognito (ctrl-shift-n), ponieważ tryb incognito nie będzie korzystał z pamięci podręcznej.
Tauren
3
Chrome Haha jest super-buforowany, jedynym sposobem na pokonanie tego jest uderzenie Shift + F5 co najmniej dwa razy (naprawdę).
Halil Özgür
1
Zespół Chrome powinien wstydzić się takiego błędu, który siedzi w kolejce błędów przez ponad 2 lata. Jestem bardzo rozczarowany.
Brian Webster,
2
Zdecydowanie nie działa. Chrome czasami może tak bardzo ssać.
iconoclast
200

W otwartych narzędziach programistycznych ( Ctrl+ Shft+ Ilub + + I):

  1. Wybierz kartę Sieć
  2. Aktywuj pole wyboru Wyłącz pamięć podręczną .
  3. NIE ZAMKNIJ narzędzi programistycznych - w przeciwnym razie pamięć podręczna zostanie ponownie włączona.

wprowadź opis zdjęcia tutaj

Chris
źródło
Nie działa dla mnie, musiałem używać incognito.
Antony Stubbs
4
Ale dlaczego nie ma klawisza skrótu, aby to uruchomić!
Coops
7
Pamiętaj, że pamięć podręczna jest wyłączona tylko wtedy, gdy Narzędzia programistyczne są otwarte. Jeśli go zamkniesz, pamięć podręczna będzie ponownie aktywna.
Icode4food,
Nawet po aktywowaniu pola wyboru Wyłącz pamięć podręczną i otwartych narzędzi dla programistów nadal wydaje się, że istnieje różnica między F5 a Shift + F5. Wywołanie ajax na mojej stronie internetowej zachowuje się inaczej, w zależności od rodzaju odświeżenia i jeszcze nie rozumiem dlaczego.
Stefan,
3
W nowszych narzędziach programistycznych (które mogą być również wywoływane przez F12) ustawienie „Wyłącz pamięć podręczną” można znaleźć na karcie Sieć.
przed
98

Na komputerze Mac jest to Shift + Command + R lub przytrzymanie Shift podczas klikania przycisku przeładowania (w przeciwieństwie do Command + R lub zwykłego kliknięcia w celu regularnego odświeżania).

Kilka dodatkowych szczegółów:

W przypadku Shift + Command + R pamięć podręczna jest po prostu ignorowana, a zasoby są żądane tak, jakby nie istniała pamięć podręczna.

W przypadku Command + R Chrome wysyła If-Modified-Sincelub Etagwysyła żądania do serwera internetowego, nawet w przypadku rzeczy, które są faktycznie buforowane . W przypadku większości, jeśli nie wszystkich treści, serwer powinien następnie odpowiedzieć 304 Not Modified. Dotyczy to większości, jeśli nie wszystkich, nowoczesnych przeglądarek.

Jedynym sposobem, aby wymusić poleganie na pamięci podręcznej (bez przeglądarki nawet pytającej o możliwe zmiany) wydaje się kliknięcie linku na stronie internetowej, kliknięcie linku z zakładki lub przejście do paska adresu URL i naciśnięcie przycisku Return tam ( Command + L, Return).

Jednak: znany od dawna problem w Chrome, wymuszone odświeżanie Chrome nie ignoruje pamięci podręcznej (a nowsze odświeżanie / odświeżanie nie odświeża się ), a może nawet funkcja w WebKit, dynamicznie wstawiane zasoby podrzędne nie są ponownie sprawdzane, nawet jeśli dokument zawierający po ponownym załadowaniu , Chrome nie wyczyści WSZYSTKICH powiązanych pamięci podręcznych podczas korzystania z powyższych metod. Deweloper Chromium wyjaśnia :

Karta sieci narzędzi programistycznych pokazuje wodospad wszystkich zasobów podczas ich ładowania. Po prawej stronie znajdują się dwie pionowe linie ... jedna z nich jest najechana po najechaniu myszą. Wszystko ładujące się po tym punkcie nie jest oficjalnie częścią strony (strona może wysyłać żądania przez wiele godzin) [...], więc NIE będzie „odświeżane” za pomocą dowolnej kombinacji f5. To jest z założenia.
[...]
Buforowanie [dowolnego zasobu przed i po wierszu „Załaduj zdarzenie uruchomione”] jest określane przez nagłówki HTTP odpowiedzi, a nie przez czas wysłania żądania.

Zwróć też uwagę na tweet @ ChromiumDev :

Wyłącz pamięć podręczną Chrome DevTools unieważnia pamięć podręczną dysku (świetna do programowania!), Ale ... tylko gdy devtools jest widoczne.

Arjan
źródło
Dzięki za bardzo szczegółową odpowiedź. Być może zbyt techniczne dla publiczności, ale bardzo to cenię.
sholsinger
Command-Shift-R nie działa w obecnej stabilnej przeglądarce Chrome.
Olivier
Wygląda na to, że działa dobrze na moim Macu, @olouv. Czy zaglądałeś na kartę Sieć narzędzia programisty? (To prawda, że ​​na tej samej stronie jest kilka zasobów, w przypadku których Chrome nadal wysyła If-Modified-Sinceżądanie, ale te zasoby są wymagane przez JavaScript, a nie przez parser HTML. Ponadto, ponieważ buforowanie samej strony jest ustawione na jedną minutę, może małe różnice w czasie serwera i czasie lokalnym też mogą popsuć?)
Arjan
UWAGA : zwróć uwagę na dwuletni, ale wciąż aktualny błąd w Chrome: Wymuszone odświeżanie w Chrome nie ignoruje pamięci podręcznej .
Arjan
15

Pytanie jest nieco stare, ale w najnowszej wersji Chrome

  • Otwórz za Developer toolspomocą F12lub Ctrl+ Shift+I
  • Kliknij prawym przyciskiem myszy przycisk Odśwież i wybierz Opróżnij pamięć podręczną i Twarde przeładowanie

Spowoduje to ominięcie pamięci podręcznej i pełne przeładowanie strony.

Dokument mówi Ctrl+ F5lub Shift+, F5ale niestety na dzień dzisiejszy błąd nadal nie został rozwiązany :-(

Pierścień Ø
źródło
1
Nawiasem mówiąc: jest to tylko system Windows. (I czytałem, że jest dostępny tylko wtedy, gdy narzędzia programistyczne są otwarte?)
Arjan
2
Działa tylko, gdy Narzędzia programistyczne są otwarte, jak mówisz Arjan.
mgkrebbs,
Możesz także przytrzymać klawisz SHIFT, klikając przycisk odświeżania
Bolli
9

Mam na serwerze pliki (obrazy i pełne strony HTML), które są aktualizowane i żadna kombinacja klawiszy w chrome nie wymusza ich pobierania.

Opieram się na trybie incognito Chrome'a ​​- CTRL-SHIFT-N - kiedy muszę wymusić odświeżenie.

Zauważ, że CTRL-R lub CTRL-F5 w oknie incognito również nie działają. Musisz zamknąć i ponownie otworzyć okno incognito - stąd moje poleganie na skrótach - CTRL-W, aby zamknąć, CTRL-SHIFT-N, aby ponownie otworzyć.

Daniel Gill
źródło
Masz na myśli „ponownie otwórz kartę incognito”, a nie okno, jak sądzę?
mgol
1
Co ciekawe, dla mnie CTRL-SHIFT-N otwiera nowe okno, a nie tylko kartę - czy nie zawsze tak jest?
Daniel Gill,
6

Zdecydowanie nie ma prostego sposobu, aby to zrobić w Chrome, podobnie jak inne przeglądarki. Dokumentacja może powiedzieć, że CTRL + F5 lub SHIFT + F5 powinny ponownie załadować i zignorować pamięć podręczną, ale po prostu nie. Mam pokaz slajdów Flash, który przechowuje ustawienia / konfigurację w pliku .xml, a po zaktualizowaniu pliku XML Chrome nadal ładuje wersję z pamięci podręcznej, chyba że wyczyści pamięć podręczną. Zawsze muszę uruchamiać inną przeglądarkę podczas aktualizacji pokazu slajdów, więc nie muszę cały czas czyścić pamięci podręcznej Chrome.

jwalker55
źródło
5
Pamięć podręczna Flash to coś zupełnie innego niż Chrome.
Joshua
@Joshua O ile ten facet nie stwierdzi, działa w innych przeglądarkach, ale nie w Chrome. Pamiętaj, że Chrome ma własną wersję Flash Playera.
Camilo Martin
@CamiloMartin ... który również ma własną osobną pamięć podręczną. Zaraz ... czy poważnie zareagowałeś na post, który ma więcej niż 2 lata? Ugh. Wziąłem przynętę.
Joshua
@Joshua Och, masz rację, nie zdawałem sobie sprawy :)
Camilo Martin
4

Ctrl - Shift - Delete pozwoli ci usunąć pamięć podręczną z poprzedniej godziny. Zapewni to, że przy następnym przeładowaniu strona będzie świeża.

J Baron
źródło
4

Zdecydowanie błąd w Chrome - to także obrazy, które należy zmienić, ale zamiast tego używa starego obrazu, nawet po wielokrotnym naciśnięciu Ctrl+ F5.

Próbowałem zmienić moje logo Google Apps, ale jedynym sposobem, aby to zmieniło w Gmailu, jest użycie trybu incognito lub wyczyszczenie całej pamięci podręcznej. Ctrl+ F5zachowuje stare logo.

Gabe
źródło
3

Zrobiłem to: kliknij prawym przyciskiem myszy RAMKĘ (która nie była zsynchronizowana), a SHIFT kliknął opcję „Przeładuj ramkę”. Rama została następnie odświeżona poprawnie.

Kościół
źródło
Nie działało dla mnie
Coops
3

Aby wyczyścić wyraźnie określoną pamięć podręczną aplikacji, przejdź do chrome://appcache-internals/Chrome i usuń pamięć podręczną dla określonych stron internetowych.

Lord Loh.
źródło