Wyłączanie pamięci podręcznej Chrome na potrzeby tworzenia witryn


1606

Zmieniam wygląd strony (modyfikacje CSS), ale nie widzę wyniku w Chrome z powodu irytującego, trwałego bufora. Próbowałem Shift+ odświeżenia, ale to nie działa.

Jak mogę tymczasowo wyłączyć pamięć podręczną lub odświeżyć stronę w taki sposób, aby zobaczyć zmiany?


185
Jest to prawdopodobnie najgorszy błąd przeglądarki Chrome. Zbyt wiele czasu zmarnowałem na zastanawianie się, dlaczego coś poszło nie tak, ale okazało się, że - pomimo wymuszonego pełnego przeładowania ^ ^ F5 - używa godzinnego, przestarzałego zasobu.
Glenn Maynard

45
Przeglądarki mają buforować. Pamiętaj, że Twoi użytkownicy również będą buforować - dlatego mogą nie widzieć zmian, które wprowadzisz po uruchomieniu witryny. Aby tego uniknąć, należy zaktualizować pliki. my_css.css? wersja = coś wyjątkowego. Jeśli przeglądarka nie widziała wcześniej wersji, pobiera plik ponownie. czymś unikatowym może być na przykład data ostatniej modyfikacji.
user984003

34
@ user984003 Ctrl+Shift+Rlub Shift+Rpowinien opróżnić pamięć podręczną ...
Adonis K. Kakoulidis

19
@ user984003 Nie, jeśli powiem im, żeby nie buforowali. Tak, numer wersji pomijającej pamięć podręczną jest świetny do ostatecznego wydania, ponieważ tego właśnie używają użytkownicy, ale kiedy buduję nową witrynę i chcę widzieć kolejne zmiany, nie zmieniam numeru wersji za każdym razem . Dlatego rozwijam się w Firefoksie - ma najbardziej niezawodne opcje wyłączania pamięci podręcznej!
andrewb

11
@ user984003 tak, przeglądarki powinny buforować ... podczas przeglądania. Podczas opracowywania potrzebujesz większej kontroli nad tym.
ahnbizcad

Odpowiedzi:


1975

Chrome DevTools może wyłączyć pamięć podręczną.

  1. Kliknij prawym przyciskiem myszy i wybierz, Inspect Elementaby otworzyć DevTools. Lub użyj jednego z następujących skrótów klawiaturowych :
    • F12
    • Command+ Option+ ina Macu
    • Control+ Shift+ iw systemie Windows lub Linux
  2. Kliknij Network na pasku narzędzi, aby otworzyć panel sieci.
  3. Zaznacz pole Disable cachewyboru u góry.

zrzut ekranu panelu narzędzi programistycznych

Pamiętaj, jak napisał tweet z @ChromiumDev , to ustawienie jest aktywne tylko wtedy, gdy devtools są otwarte .

Pamiętaj, że spowoduje to przeładowanie wszystkich zasobów. Jeśli chcesz wyłączyć pamięć podręczną tylko dla niektórych zasobów, możesz zmodyfikować nagłówek HTTP wysyłany przez serwer wraz z plikami.

Jeśli nie chcesz używać Disable cachepola wyboru, długie naciśnięcie przycisku odświeżania przy otwartym DevTools pokaże menu z opcjami Hard Reloadlub, Empty Cache and Hard Reloadktóre powinny mieć podobny efekt. Przeczytaj o różnicy między opcjami . Dostępne są następujące skróty:

  • Command+ Option+ Rna Macu
  • Control+ Shift+ Rw systemie Windows lub Linux

długie naciśnięcie


255
Z mojego doświadczenia wynika, że ​​to ustawienie (i wszystkie ustawienia w tym panelu) działa tylko wtedy, gdy narzędzia programistyczne są otwarte.
Johann

28
@ Steve To nie działa dla mnie. Nie otrzymuję żadnych zmian, mimo że mam Chrome 19.0.1084.52 i zaznaczyłem pole, aby wyłączyć buforowanie. Próbowałem przy otwartym panelu programisty. Próbowałem z zamkniętym. Próbowałem nawet uruchomić ponownie przeglądarkę, a następnie ponownie uruchomić komputer. Nadal wydaje się, że nadal podaje mi wersję strony z pamięci podręcznej. Co powinienem zrobić? Chrome już dawał mi takie problemy, więc usunąłem wszystko, co dotyczy Google z mojego komputera, a potem ponownie zainstalowałem Chrome. Naprawiono większość rzeczy, takich jak „karta historii wczytywania na zawsze”. Chyba nadal nie działa.
Tgwizman,

11
Odkryłem, że to nie działało podczas odświeżania bieżącej strony po zmianie ustawienia. Dopiero kiedy opuściłem i ponownie wróciłem, zaczęło działać.
Matt Gibson

3
... lub możesz po prostu debugować w trybie incognito! (który nie buforuje żadnych plików)
Kwame

5
to ustawienie jest największym kłamstwem w historii tworzenia stron internetowych. uruchomiłem ponownie komputer i Chrome wciąż wyświetla nieprawidłowe wyniki, gdy Firefox wyświetla aktualny css :(
Claudiu Creanga

247

wprowadź opis zdjęcia tutaj

Czyszczenie pamięci podręcznej jest zbyt irytujące, gdy trzeba ją wyczyścić 30 razy na godzinę .. dlatego zainstalowałem rozszerzenie Chrome o nazwie Classic Cache Killer, które czyści pamięć podręczną przy każdym ładowaniu strony.

Link do sklepu Chrome (bezpłatny) (teraz bez złośliwego oprogramowania!)

Teraz mój próbny json, javascript, css, html i dane są odświeżane za każdym razem przy każdym ładowaniu strony .

Nigdy nie muszę się martwić, jeśli muszę wyczyścić pamięć podręczną.

Znalazłem około 20 narzędzi do czyszczenia pamięci podręcznej dla Chrome, ale ten wydawał się lekki i bez wysiłku. W aktualizacji Cache Killer może teraz pozostać „zawsze włączony”.

Uwaga: nie znam autora wtyczki w żaden sposób. Po prostu uznałem to za przydatne.


4
Tak, opcja Chrome Dev Tools wydaje się dla mnie nie działać. Ale zabójca pamięci podręcznej działa jak urok. Czas przeładowania jest znacznie wolniejszy, jak 4-5x, ale faktyczne podawanie nowej zawartości jest oczywiście znacznie szybsze.
Bryce Johnson

2
Wyczyść pamięć podręczną i Wyłącz pamięć podręczną działają tylko podczas pracy na localhost na moim komputerze Mac. W przypadku treści online odświeżam i odświeżam, mając nadzieję na zmiany. To rozszerzenie ratuje życie.
Sbpro

2
Zauważyłem, że użycie Wyłącz pamięć podręczną powoduje problemy z pamięcią lokalną, szczególnie z pamięcią kątową w Auth0. Cache Killer działa idealnie i nie powoduje problemów z lokalną pamięcią.
trevorc

5
Usunięto z Chrome Extensions Store z powodu złośliwego oprogramowania :( Alternatywy?
Semyon Vyskubov

3
Skończyło się pisanie własnego, działa tak samo, ale może przełączać się między kartami. Licencja MIT i bez złośliwego oprogramowania, obiecuję 😎! github.com/themichaelyang/cache-clearer
Michael Yang

199

Obraz menu przeładowania

  1. Podciągnij konsolę programisty Chrome, naciskając F12 a następnie (przy otwartej konsoli):

  2. Kliknij prawym przyciskiem myszy (lub przytrzymaj lewy przycisk myszy) przycisk przeładowania u góry przeglądarki i wybierz „Opróżnij pamięć podręczną i przeładuj ponownie”.

To wykracza poza „Hard Reload”, aby całkowicie opróżnić pamięć podręczną, upewniając się, że wszystko pobrane przez javascript lub itp. Również uniknie użycia pamięci podręcznej. Nie musisz zadzierać z ustawieniami ani niczym, to szybkie rozwiązanie 1-strzałowe.


7
cóż, to zdecydowanie nie działa na Macu, kliknąłem ten przycisk przeładowania z różnymi kombinacjami klawiszy;)
MJB

1
co to jest Hard reload?
ManirajSS

@ManirajSS: Przeładuje wszystko i uniknie użycia pamięci podręcznej, ale nie pobierze ponownie rzeczy pobranych przez javascript po załadowaniu strony. Nie jestem pewien, dlaczego ktokolwiek miałby z niego korzystać, ale myślę, że możesz wymyślić kilka narożnych przypadków, w których byłoby to przydatne.
JackArbiter

2
Nie wyczyści również pamięci podręcznej ramek iframe na stronie.
Pablo Mescher,

7
Nie jestem pewien, jak długo to trwało, ale od Chrome 41 kliknij i przytrzymaj przycisk przeładowania działa w systemie OS X, pod warunkiem, że masz otwarte okno narzędzi programisty.
Tim Keating

47

Są jeszcze dwie opcje, aby na stałe wyłączyć buforowanie stron w Chrome :

1. Dezaktywuj pamięć podręczną Chrome w rejestrze

Otwórz rejestr (Start -> Polecenie -> Regedit)

Szukaj: HKEY_CLASSES_ROOT\ChromeHTML\shell\open\command

Zmień część po ... chrom.exe ”na tę wartość: –disable-application-cache –media-cache-size=1 –disk-cache-size=1 — "%1"

Przykład: "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -disable-application-cache –media-cache-size=1 –disk-cache-size=1 — "%1"

WAŻNY:

  • po ... chrome.exe jest spacja i łącznik

  • pozostaw ścieżkę do chrome.exe bez zmian

  • Jeśli kopiujesz wiersz, sprawdź, czy cytaty są rzeczywistymi cytatami.

2. Dezaktywuj pamięć podręczną Chrome, zmieniając właściwości skrótu

Kliknij prawym przyciskiem myszy ikonę Chrome i wybierz „Właściwości” z menu kontekstowego. Dodaj następującą wartość do ścieżki: –disk-cache-size=1

Przykład: "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" –disk-cache-size=1

WAŻNY:

  • po ... chrome.exe jest spacja i łącznik

  • pozostaw ścieżkę do chrome.exe bez zmian


1
użyj znaczników kodu, aby twoja odpowiedź była bardziej czytelna. Myślę, że to może być jedna z najlepszych odpowiedzi.
ThorSummoner,

3
Dobra odpowiedź. Chociaż dla większości osób wyłączenie pamięci podręcznej jest tylko tymczasowe podczas opracowywania. Wyłączenie go na stałe znacznie spowolni normalne przeglądanie i jest rodzajem złego obywatelstwa internetowego, ponieważ powoduje niepotrzebne obciążenie serwerów internetowych, które odwiedzasz.
danielson317

3
Nie zgadzam się ze złym obywatelstwem internetowym, mówimy tutaj o stworzeniu skrótu do pracy programistów. To zdecydowanie najlepsza odpowiedź IMHO. Po prostu mała rzecz. Za każdym razem, gdy kopiuję to w systemie Windows z tej strony SO do jakiegoś skrótu Chrome, niektóre znaki nie wychodzą dobrze. Oto są właściwe: "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-application-cache --media-cache-size=1 --disk-cache-size=1Co to jest znak wcześniej "%1"? Tego nie wiem.
peter.petrov

32

Jeśli nie chcesz edytować ustawień Chrome, możesz użyć trybu incognito dla tych samych wyników.


22

Oprócz opcji wyłączania pamięci podręcznej (do której można przejść za pomocą przycisku w prawym dolnym rogu okna narzędzi programistycznych - Narzędzia | Narzędzia programistyczne lub Ctrl+ Shift+ I), w panelu sieci narzędzi programistycznych można teraz kliknąć prawym przyciskiem myszy i wybierz „Wyczyść pamięć podręczną” z menu podręcznego.


22
  1. F12 aby otworzyć Chrome DevTools
  2. F1 aby otworzyć Ustawienia DevTools
  3. Zaznacz Wyłącz bufor (gdy DevTools jest otwarty), jak pokazano poniżej:

To jest obecnie na karcie Preferencje , która jest domyślna. Może być konieczne przewinięcie w dół. To pole wyboru zostało przesunięte co najmniej kilka razy od momentu zadawania tego pytania. Ostatnio sprawdziłem, to było w środkowej kolumnie na dole. Jeśli masz go otwartego na cieńszym ekranie i w Preferencjach znajdują się 2 kolumny, może znajdować się w prawym górnym rogu. Zaktualizuj ten post, jeśli się zmieni lub skomentuje, a ja zaktualizuję ten post.

wprowadź opis zdjęcia tutaj


2
To robi to samo, co zaznaczenie „Wyłącz pamięć podręczną” bezpośrednio w F12 Chrome Devtools i zresetuje się po ponownym uruchomieniu Chrome.
Bogdan Verbenets

18

Zamiast naciskać „F5” Wystarczy nacisnąć:

„Ctrl + F5”


6
Działa również w przeglądarce Firefox (nie dlatego, że ma znaczenie w przypadku tego pytania, ale ktoś może uznać to za przydatne)
Kaczor Donald

17

W kanale kanaryjskim (a być może nastąpi kanał deweloperski i stabilny) można to znaleźć jako drugą opcję ogólnie po lewej stronie w sekcji „Ogólne”.

Wyłącz pamięć podręczną w kanale Chrome Canary Channel

Oprócz tego zawsze istnieje możliwość przełączenia się w tryb incognito za pomocą Ctrl + Shift + N. Mimo że niestety to także kończy sesję.


4
Z mojego doświadczenia wynika, że ​​działa to tylko wtedy, gdy narzędzia programistyczne są otwarte. Byłem zaskoczony, dlaczego pamięć podręczna wciąż utrzymuje się na stronach, dopóki nie zdałam sobie sprawy, że zamknęłam narzędzia programistyczne. Dziwne, że ustawienie nie zastępuje wszystkiego.
mbokil

Tryb incognito niestety buforuje niektóre obrazy i pliki.
GobSmack,

16

Używanie Ctrl+ Shift+ Rdo odświeżania było przyjemne, ale nie dostałem wszystkiego, czego potrzebowałem. wciąż niektóre rzeczy się nie odświeżają, na przykład dane przechowywane w js i css. znalazł rozwiązanie: pasek narzędzi Google dla programistów Chrome . Po zainstalowaniu paska narzędzi wybierz opcje i „zresetuj stronę”.


2
+1. Nadal jednak nie jest idealny: do programowania na komputerze lokalnym pamięć podręczna jest całkowicie niepotrzebna i spowoduje problemy, więc nadal byłbym zainteresowany funkcją wyłączania, taką jak firebug.
c089

15

Dla jasności, pole wyboru wyłącz pamięć podręczną w Chrome (tutaj v17, ale od wersji 15, jak sądzę) nie znajduje się w głównym interfejsie ustawień. Jest w interfejsie ustawień narzędzi programistycznych.

  1. Z menu ikony klucza okna przeglądarki (menu ustawień wstępnych) wybierz Narzędzia → Narzędzia dla programistów

  2. W wyświetlonym interfejsie narzędzi programisty kliknij ikonę koła zębatego w prawym dolnym rogu.

  3. Zaznacz pole wyboru „Wyłącz pamięć podręczną” w sekcji Sieć.


14

Wyłącz pamięć podręczną w chrome działa tylko wtedy, gdy masz otwarte narzędzia programistyczne


może jest to błąd, a może jest przeznaczony tylko dla programistów - powiedziałem, że pomyślałem, że nie-programiści chcieliby również użyć opcji wyłączania pamięci podręcznej ¯ \ _ (ツ) _ / ¯
jamiethepiper

14

Dopóki błąd nie zostanie naprawiony, możesz użyć wtyczki Clear Cache Chrome, a także ustawić skrót klawiaturowy.

Po zainstalowaniu kliknij prawym przyciskiem myszy i przejdź do opcji:

wprowadź opis zdjęcia tutaj

Sprawdź Automatically reload active tab after clearing data:

wprowadź opis zdjęcia tutaj

Wybierz Everythingdla okresu:

wprowadź opis zdjęcia tutaj

A potem możesz przejść do Menu => Narzędzia => Rozszerzenia:

wprowadź opis zdjęcia tutaj

Kliknij skróty klawiaturowe u dołu:

wprowadź opis zdjęcia tutaj

I ustaw skrót klawiaturowy, na przykład Ctrl+ Shift+ R:

wprowadź opis zdjęcia tutaj


9

W rzeczywistości, jeśli nie masz nic przeciwko korzystaniu z przepustowości, jest bezpieczniejsze z wielu powodów, aby wyłączyć buforowanie i jest zalecane przez wiele witryn bezpieczeństwa.

Chrom nie powinien być wystarczająco arogancki, aby podejmować decyzje i egzekwować ustawienia użytkowników.

Możesz wyłączyć pamięć podręczną w systemie UNIX za pomocą opcji --disk-cache-dir = / dev / null.

Ponieważ jest to nieoczekiwane, mogą wystąpić awarie, ale jeśli tak się stanie, będzie to wyraźnie wskazywać na poważniejszy błąd, który należy naprawić w każdym przypadku.


8

To może komuś pomóc.

Przygotowałem mojego Nginxa do szalonego buforowania. Dlatego wyłączenie pamięci podręcznej w narzędziach sieciowych i jawne wyczyszczenie pamięci podręcznej nie działa.

Bardzo proste, ale nudne obejście: właśnie otworzyłem nową kartę Incognito. Zaskakujące, działa przez cały czas!

Twarde odświeżanie w trybie incognito rozwiązuje problem za każdym razem, gdy chcę ponownie załadować w tym samym trybie.


6

Co powiesz na bookmarklet, który zmienia nazwę strony, aby zapobiec buforowaniu strony. W Chrome utworzysz nową zakładkę, a następnie wkleisz kod do adresu URL. Kliknij zakładkę, a strona zostanie ponownie załadowana ze znacznikiem czasu, aby udaremnić pamięć podręczną.

javascript:(function(){var idx = location.href.indexOf('?');var d = new Date();var str = location.href.substr(0,idx) + '?version=' + d.getTime();location.href=str; void 0;})();

5

Właśnie mnie przyłapano, ale niekoniecznie z powodu Chrome.

Używam jQuery do tworzenia żądań AJAX. W żądaniu ustawiłem atrybut pamięci podręcznej na true:

   $.ajax({
        type: 'GET',
        cache: true,
        ....

Ustawienie tej wartości na false rozwiązało mój problem, ale nie jest to idealne.

Nie mam pojęcia, gdzie te dane są zapisywane, ale wiem, że chrome nigdy nie trafił na serwer z powodu żądania.


5

Teraz jest lepszy i szybszy sposób (wersja Chrome 59.xx):

Kliknij prawym przyciskiem myszy ikonę przeładowania (po lewej stronie pola url), a pojawi się menu rozwijane, wybierz trzecią opcję: „pusta pamięć podręczna i twarde przeładowanie”.

Ta opcja jest dostępna tylko wtedy, gdy narzędzia programistyczne są otwarte. (Zwróć uwagę na różnicę w stosunku do opcji 2: „Hard reload” -cmd-shift-R). Tu nie ma opróżniania pamięci podręcznej!


3

W sklepie internetowym chrome dostępne jest rozszerzenie chrome o nazwie Clear Cache .

Używam go codziennie i myślę, że jest to bardzo przydatne narzędzie. Możesz użyć go jako przycisku przeładowania i wyczyścić pamięć podręczną, a jeśli lubisz także pliki cookie, ustawienia regionalne, dane formularzy itp. Możesz także określić, w której domenie to się dzieje. Więc możesz wyczyścić to gówno za pomocą tylko przycisku przeładowania, który i tak musisz nacisnąć - na wybranych domenach.

Bardzo bardzo dobrze!

Możesz również zdefiniować skrót klawiaturowy w tym celu w opcjach!

Innym sposobem jest uruchomienie okna chrome w trybie incognito. Tutaj pamięć podręczna również powinna być całkowicie wyłączona.


Nie można znaleźć opcji określającej, w której domenie to robi. Nie wygląda bardzo dobrze. Co powiesz na chrome.google.com/webstore/detail/cache-killer/… ..?
nkkollaw

przejdź do ikony wyczyść pamięć podręczną w przeglądarce, kliknij prawym przyciskiem myszy, opcje, a następnie w obszarze plików cookie. Jest mała ikona ustawień.
Chris

2

Jeszcze jedną opcję wyłączania pamięci podręcznej zapewnia moje trzecie rozszerzenie Chrome Inspektor wielkości strony który wyłącza pamięć podręczną dokładnie tak samo, jak robi to Devtools.

Ponadto rozszerzenie szybko raportuje rozmiar strony, użycie pamięci podręcznej, żądania sieciowe i czas ładowania strony internetowej w wygodny sposób. Plus jego open source w Github .

Screenshot - Inspektor rozmiaru strony


2

Nie wiesz, czego używasz, ale jeśli używasz ASP.Net, możesz wykonać następujące czynności, które działają jak urok:

<link href="@Url.Content("~/Content/Site.css")?time=@DateTime.Now" rel="stylesheet" />

Zasadniczo automatycznie dołącza datę i godzinę na końcu pliku za każdym razem, gdy jest uruchamiany, co oznacza, że ​​ponieważ nazwa pliku jest technicznie inna, nigdy nie będziesz musiał się martwić, że zostanie ponownie buforowany.


absolutnie. Użyłem tego i kompilacji warunkowej, więc nie pojawia się w kompilacjach testowych i wydaniach.
Cee McSharpface

Jeszcze lepszym sposobem jest użycie czasu modyfikacji plików css jako wartości zmiennej. To rozwiązanie można również zastosować w środowisku produkcyjnym. Po prostu działa :) Nie jestem pewien, jak to się robi w ASP, ale w PHP coś takiego <link href = "style.css? Time = <? Php echo fileminfo ('style.css');?>" Rel = "stylesheet" >
Oliver Manner,

2

Miałem ten sam problem, próbowałem:

  • Control Shift R,
  • Wyłącz pamięć podręczną w F12
  • Kontrola F5.

Potem odkryłem, że używanie manifestu .appcache dla witryny innej niż https jest przestarzałe . Usunąłem plik site.appcache i jego odwołanie w tagu html, a teraz widzę najnowszą wersję każdej strony!


2

Jeśli używasz ServiceWorkers (np. Do progresywnych aplikacji internetowych), prawdopodobnie będziesz musiał zaznaczyć „Aktualizuj przy przeładowaniu” w obszarze Aplikacja> Pracownicy serwisowi w narzędziach programistycznych.

wprowadź opis zdjęcia tutaj


1

Od wersji 50 (o ile dobrze pamiętam) opcja „Wyłącz pamięć podręczną” została usunięta z ustawień Devtool. Przejdź na kartę „Sieć”, a pojawi się opcja „Wyłącz pamięć podręczną”.


0

Hej, jeśli Twoja witryna korzysta z PHP, umieść następujący fragment kodu PHP na początku strony HTML:

   //dev versioning - stop caching
   $rand = rand(1, 99999999);

Teraz wszędzie tam, gdzie ładujesz zasoby takie jak pliki CSS lub JS w skrypcie lub elemencie łącza, dołączasz wygenerowaną losową wartość do adresu URL żądania po dołączeniu „?” do URI przez PHP:

    echo $rand;

Otóż ​​to! Nie będzie już żadnej przeglądarki, która buforuje Twoją witrynę - bez względu na to, jakiego rodzaju.

Oczywiście usuń kod przed opublikowaniem lub po prostu ustaw $ rand na pusty ciąg znaków, aby umożliwić buforowanie ponownie.


0

Użyłem innych opcji opisanych powyżej, ale uważam, że najlepiej jest dodać następujący parametr do uruchamiania chrome.exe.

„C: \ Program Files (x86) \ Google \ Chrome \ Application \ chrome.exe” --disk-cache-size = 1 -media-cache = 1

Uważam, że nie wyłączanie pamięci podręcznej multimediów jest dobrym pomysłem, ale jest tutaj ze względu na kompletność.

W rzeczywistości chcę opcję całkowitego wyłączenia pamięci podręcznej, użycia pamięci dla IO zamiast mojego dysku (co przyspieszyłoby również 10-krotnie szybszy czas ładowania!), Ale nie sądzę, żeby Chrome lub jakakolwiek przeglądarka miała tę opcję .


0

Jak mogę tymczasowo wyłączyć pamięć podręczną lub odświeżyć stronę w taki sposób, aby zobaczyć zmiany?

Nie jest jasne, do którego „bufora” odwołujesz się. Istnieje kilka różnych metod trwałego buforowania zawartości przeglądarki. Web Storage jest jednym z nich, Cache-Controla drugim.

Niektóre przeglądarki mają również Cache, używane w połączeniu z pracownikami usług , do tworzenia progresywnych aplikacji internetowych (PWA) zapewniających wsparcie offline.

Aby wyczyścić pamięć podręczną dla PWA

self.caches.keys().then(keys => { keys.forEach(key => console.log(key)) })

aby wyświetlić listę nazw kluczy pamięci podręcznej, a następnie uruchom:

self.caches.delete('my-site-cache')

aby usunąć klucz pamięci podręcznej według nazwy (tj my-site-cache.). Następnie odśwież stronę.

Jeśli po odświeżeniu zobaczysz w konsoli błędy związane z pracownikiem, może być konieczne wyrejestrowanie zarejestrowanych pracowników:

navigator.serviceWorker.getRegistrations()
  .then(registrations => {
    registrations.forEach(registration => {
      registration.unregister()
    }) 
  })

0

Zabójca pamięci podręcznej Chrome jest zdecydowanie najlepszą opcją. Ponieważ adres URL sklepu, aby zainstalować Killer cache jest wyłączony, możesz pobrać plik CRX tutaj:

https://www.crx4chrome.com/extensions/jpfbieopdmepaolggioebjmedmclkbap/

po pobraniu pliku rozszerzenia otwórz Chrome -> więcej narzędzi -> rozszerzenia, a następnie przeciągnij plik CRX z Eksploratora plików lub pulpitu (w zależności od miejsca, w którym plik został pobrany) do okna chrome, aby zainstalować rozszerzenie.


0

Używam (w systemie Windows), Ctrl + Shift + Delete, a gdy pojawi się okno dialogowe Chrome, naciśnij klawisz Enter. Można to skonfigurować za pomocą tego, co należy wyczyścić przy każdym wykonaniu tej sekwencji. Nie musisz mieć programisty. narzędzia otwarte w tym przypadku.


0

Byłem w sytuacji, że przeglądarka ładuje dane pamięci podręcznej z dysku, nawet sprawdziłem, czy pamięć podręczna jest wyłączona (korzystałem z Chrome). Wszystkie moje CSS i JS ładowały się z serwera, ale nie ze strony internetowej. Działo się tak zarówno w moim lokalnym, jak i produkcyjnym.

Aby to naprawić, muszę podać dodatkowy parametr w moim adresie URL, aby zmusić przeglądarkę do pobrania strony internetowej z serwera, nawet kontroler jej nie potrzebował.

Korzystałem z ASP.Net, więc oto mój przykład:

//Controller function
public ActionResult Index()
    {
        return View();
    }
//Link
@Html.Action("Index", "Home", new { ts = DateTime.Now.Ticks.ToString()})

W rezultacie wygeneruje link taki jak: http://www.myweb.com/Home/Index?ts=636558555408282209

To moja sytuacja i rozwiązanie. Mam nadzieję, że może komuś pomóc.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.