Dokonam zmiany w moich plikach JS, ale tak naprawdę nie zmieni się to w przeglądarce, za każdym razem muszę zmieniać nazwy plików, aby je ponownie załadować. Czy jest jakieś polecenie .htaccess, które mogę dodać, lub coś, aby przestało buforować?
To nawet buforuje twarde jądro moich stron HTML. Muszę ponownie otworzyć całą przeglądarkę, aby zobaczyć zmiany. Czy to może być problem z serwerem?
javascript
caching
google-chrome
Howdy_McGee
źródło
źródło
Odpowiedzi:
Możesz kliknąć ikonę ustawień w prawym górnym rogu
...
| Więcej narzędzi | Narzędzia programistyczne | Sieć | Wyłącz pamięć podręczną (gdy DevTools jest otwarte)W przypadku systemu Windows jest to F12lub CTRL + SHIFT + Ipodczas gdy na komputerze Mac CMD + SHIFT + Iotwiera narzędzia DevTools.
Nowa ścieżka do aktualizacji Chrome z września 2018 r .:
Kliknij ikonę ustawień w prawym górnym rogu
...
| Ustawienia | Preferencje | Narzędzia programistyczne | Sieć | Wyłącz pamięć podręczną (gdy DevTools jest otwarte)źródło
Szybszym sposobem na to jest kliknięcie prawym przyciskiem myszy ikony odświeżania obok paska adresu i wybranie opcji Opróżnij pamięć podręczną i Twarde ponowne załadowanie
Tylko upewnij się, że narzędzia programistyczne Chrome są otwarte. (Naciśnij F12) Przy okazji ... Ta sztuczka działa tylko w Chrome dla Windows, Ubuntu i Mac OS
źródło
Przytrzymaj Shift, klikając przycisk odświeżania.
źródło
dodaj Coś jak
script.js?a=[random Number]
z losową liczbą generowaną przez PHP.Czy próbowałeś expire = 0, pragma „no-cache” i „cache-control = NO-CACHE”? (Nie wiem, co mówią o skryptach).
źródło
Kilka pomysłów:
HEAD
polecenie zamiast pełnego GET, aby sprawdzić, czy musi ponownie pobrać pełny plik, a serwer używa sygnatury czasowej, aby zobaczyć.Jeśli chcesz wyłączyć buforowanie na swoim serwerze, możesz zrobić coś takiego:
W .htaccess
źródło
Szybkie kroki:
1) Otwórz pulpit narzędzi dla programistów, przechodząc do menu Chrome -> Narzędzia -> Narzędzia dla programistów
2) Kliknij ikonę ustawień po prawej stronie (to trybik!)
3) Zaznacz pole „Wyłącz pamięć podręczną (gdy DevTools jest otwarte)”
4) Teraz, gdy pulpit jest aktywny, po prostu naciśnij odśwież, a JS nie zostanie zapisany w pamięci podręcznej!
źródło
Problem polega na tym, że Chrome musi mieć
must-revalidate
w nagłówku Cache-Control`, aby ponownie sprawdzić pliki, aby zobaczyć, czy trzeba je ponownie pobrać.Zawsze możesz SHIFT-F5 i wymusić odświeżenie Chrome, ale jeśli chcesz naprawić ten problem na serwerze, dołącz ten nagłówek odpowiedzi:
To informuje Chrome, aby sprawdził serwer i sprawdził, czy jest nowszy plik. JEŚLI istnieje nowszy plik, otrzyma go w odpowiedzi. Jeśli nie, otrzyma odpowiedź 304 i pewność, że ta w pamięci podręcznej jest aktualna.
Jeśli NIE ustawisz tego nagłówka, to w przypadku braku innych ustawień, które unieważnią plik, Chrome nigdy nie sprawdzi z serwerem, czy jest dostępna nowsza wersja.
Oto post na blogu, który dokładniej omawia ten problem.
źródło
Cache-Control: must-revalidate
zamiastCache-Control: must-validate
. Myślę, że to drugie nie jest ważne.Podczas aktualizowania moich aplikacji internetowych albo użyję programu obsługi, aby zwrócić pojedynczy plik JS, aby uniknąć masowych trafień na moim serwerze, lub dodam do nich mały ciąg zapytania:
źródło
źródło
Wiem, że to „stare” pytanie. Ale bóle głowy związane z buforowaniem nigdy nie są. Po wielu próbach i błędach odkryłem, że jeden z naszych dostawców usług hostingowych miał za pośrednictwem CPanel tę aplikację o nazwie Cachewall. Właśnie kliknąłem Włącz tryb programowania i ... voilà !!! Od razu powstrzymał długo odczuwany ból :) Mam nadzieję, że pomoże to komuś innemu… R.
źródło
Otrzymałem ten sam plik css, kiedy przeglądałem witrynę (na serwerze firmy hostingowej z prawdziwą domeną) i nie mogłem pobrać zaktualizowanej wersji na chrome. Udało mi się pobrać zaktualizowaną wersję pliku podczas przeglądania go w przeglądarce Firefox. Żadna z tych odpowiedzi nie zadziałała dla mnie. Mam również pliki witryny na moim komputerze i przeglądam witrynę z lokalnym serwerem przy użyciu mojego lokalnego serwera Apache. Wyłączyłem serwer Apache i udało mi się pobrać zaktualizowany plik. W jakiś sposób mój lokalny serwer Apache miał problemy z pamięcią podręczną Chrome. Mam nadzieję, że to komuś pomoże, ponieważ było mi bardzo trudno to naprawić.
źródło
Otwórz narzędzia programistyczne
...
->More Tools
->Developer Tools
Kliknij
Empty Cache and Hard Reload
źródło
Zamiast tego możesz otworzyć okno incognito. Przełączenie do okna incognito działało dla mnie, gdy wyłączenie pamięci podręcznej w normalnym oknie chrome nadal nie wczytywało ponownie pliku JavaScript, który zmieniłem od ostatniej pamięci podręcznej.
https://www.quora.com/Does-incognito-mode-on-Chrome-use-the-cache-that-was-previously-stored
źródło