Odpowiedzi:
Wpisz „about: config” w pasku adresu przeglądarki Firefox i ustaw:
browser.cache.disk.enable = false
browser.cache.memory.enable = false
Jeśli programujesz lokalnie lub używasz nowego atrybutu manifestu HTML5, być może będziesz musiał ustawić następujące informacje w about: config -
browser.cache.offline.enable = false
Web Developer Toolbar ma możliwość buforowania wyłączyć co sprawia, że bardzo łatwo go włączyć i wyłączyć, gdy jest to potrzebne.
Czy próbowałeś użyć CTRL- F5do aktualizacji strony?
Na tej samej stronie, na której chcesz wyłączyć buforowanie, wykonaj następujące czynności: Do Twojej wiadomości: wersja nad którą pracuję to 30.0
Możesz :
Następnie ponownie załaduje stronę z własnej (jesteś włączony) i wszystko zostanie ponownie odtworzone, a wszelkie dalsze żądania są ponownie wysyłane za każdym razem, a programista internetowy może być zawsze otwarty, aby mieć oko i upewnić się, że jest zawsze włączony (sprawdź) .
Narzędzia programistyczne Firefox 48
Umożliwia wyłączenie pamięci podręcznej tylko wtedy, gdy przybornik jest otwarty, co jest idealne do tworzenia stron internetowych:
https://stackoverflow.com/a/27397425/895245 ma podobną treść, ale od tego czasu pozycjonowanie nieco się zmieniło.
Jeśli pracujesz z kodem po stronie serwera, możesz wygenerować losową liczbę i dołączyć ją na końcu src w następujący sposób ....
src = "yourJavascriptFile.js? randomNumber = 434534"
z randomNumber generowanym losowo za każdym razem.
Wiem, że wskrzeszam starożytne pytanie, ale próbowałem dziś rozwiązać ten problem i znaleźć alternatywne rozwiązanie. Przełączanie buforowania, gdy chcę przetestować, nie było dla mnie do zaakceptowania, a jak wspominali inni, twarde odświeżanie (ctrl + shift + r) nie zawsze działa.
Zamiast tego zdecydowałem się umieścić w moim pliku vhost.conf (można to również zrobić w .htaccess) w moim środowisku deweloperskim:
<FilesMatch "\.(js|css)$">
FileETag None
<IfModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
</IfModule>
</FilesMatch>
W moim środowisku deweloperskim zapewnia to, że pliki js i css są zawsze pobierane. Ponadto nie wpływa to na resztę mojego przeglądania, a także działa dla wszystkich przeglądarek, więc testowanie w chrome / ie itp. Jest również łatwe.
Znalazłem tutaj fragment kodu, a także kilka innych przydatnych sztuczek związanych z Apache: http://www.askapache.com/htaccess/using-http-headers-with-htaccess.html#prevent-caching-with-htaccess
Aby upewnić się, że moi klienci zawsze widzą najnowszą wersję w środowisku produkcyjnym, zwiększamy ciąg zapytania w js dołączonym do każdej aktualizacji, tj.
jquery.somefile.js?v=0.5
Zmusza to przeglądarki moich klientów do aktualizowania lokalnej pamięci podręcznej, gdy widzą nową kwerendę, ale następnie buforuje nową kopię do czasu ponownej aktualizacji pliku
Najlepszą strategią jest zaprojektowanie witryny tak, aby tworzyła unikalny adres URL do plików JS, który jest resetowany za każdym razem, gdy następuje zmiana. W ten sposób buforuje, gdy nie nastąpiła zmiana, ale natychmiast ładuje się ponownie, gdy nastąpi jakakolwiek zmiana.
Konieczne byłoby dostosowanie do konkretnych narzędzi środowiska, ale jeśli używasz PHP / Apache, oto świetne rozwiązanie zarówno dla Ciebie, jak i dla użytkowników końcowych.
http://verens.com/archives/2008/04/09/javascript-cache-problem-solved/
Możesz użyć CTRL-, F5aby przeładować z pominięciem pamięci podręcznej.
Możesz ustawić preferencje w przeglądarce Firefox, aby nie używać pamięci podręcznej
network.http.use-cache = false
Możesz skonfigurować serwer WWW, aby wysyłał nagłówki no-cache / Expires / Cache-Control dla plików js.
Oto przykład serwera WWW Apache.
Dwa ostatnie opublikowane rozwiązania mają zalety i wady, ale oba są świetnymi rozwiązaniami IMHO.
Możesz lub nie chcieć, aby identyfikator sesji był osadzony w adresie URL w taki sposób, aby zwiększyć bezpieczeństwo. Ale w rozwoju nie powinno to mieć znaczenia, ale co, jeśli zapomnisz go usunąć? Czy to też naprawdę działa? Czy nie potrzebujesz czegoś takiego jak generator liczb sekwencyjnych (liczba trafień przechowywana w sesji, a może nawet jeśli 1 to 0, jeśli 0 to 1)?
Dodanie identyfikatora sesji (lub dowolnego sekwencera) oznacza, że musisz pamiętać, aby dodać go do każdego zasobu, którego nie chcesz buforować. Z jednej strony jest to lepsze, ponieważ możesz po prostu dołączyć identyfikator sesji tylko do tego zasobu, który aktywnie rozwijasz i testujesz. Z drugiej strony oznacza to, że musisz to zrobić i musisz pamiętać, aby usunąć to do produkcji.
Modyfikacja pliku vhost.conf lub .htaccess ładnie załatwia sprawę bez konieczności pamiętania o dodawaniu i usuwaniu identyfikatora sesji. Ale wadą jest to, że wpłynie to na wydajność wszystkich zasobów js i css, a jeśli masz duże pliki, to spowolni.
Oba wydają się świetnymi, eleganckimi rozwiązaniami - zależy od Twoich potrzeb.
Używam CTRL- SHIFT- DELETEktóry aktywuje funkcję prywatności, umożliwiając jednoczesne wyczyszczenie pamięci podręcznej, resetowanie plików cookie itp. Możesz nawet skonfigurować go tak, aby po prostu to robił, zamiast wyświetlać okno dialogowe z prośbą o potwierdzenie.
W wyższych wersjach Firefoksa, takich jak Nightly, dostępna jest opcja o nazwie „wyłącz pamięć podręczną”, którą można znaleźć, klikając ikonę koła zębatego. Te opcje działają tylko w bieżącej sesji, co oznacza, że po zamknięciu inspektora i ponownym uruchomieniu go musisz sprawdzić ponownie, jeśli chcesz wyłączyć przechwytywanie.
Po 2 godzinach przeglądania różnych alternatyw, to zadziałało.
Moim wymaganiem było wyłączenie buforowania plików js i css w mojej aplikacji internetowej zabezpieczonej wiosną. Ale jednocześnie buforowanie tych plików „w” określonej sesji.
Przekazywanie unikalnego identyfikatora przy każdym żądaniu jest jednym z zalecanych podejść.
A oto co zrobiłem: - Zamiast
<script language="javascript" src="js/home.js"></script>
użyłem
<script language="javascript" src="js/home.js?id=${pageContext.session.id}"></script>
Wszelkie wady powyższego podejścia są mile widziane. Problemy z bezpieczeństwem ?
W przeglądarce Firefox 45 opcje pamięci podręcznej dysku można ustawić, zmieniając wartość: browser.cache.disk.enable
Wartość można ustawić na stronie „about: config”.
Na http://kb.mozillazine.org/About:config_entries#Browser znalazłem następujący opis dla „browser.cache.disk.enable”:
Prawda (wartość domyślna): Użyj pamięci podręcznej dysku, do pojemności określonej w pliku browser.cache.disk.capacity Fałsz: Wyłącz pamięć podręczną dysku (ten sam efekt, co ustawienie browser.cache.disk.capacity na 0)
Przede wszystkim można to łatwo zrobić, np. Za pomocą PHP, aby zmusić przeglądarkę do odnowienia plików na podstawie daty pamięci podręcznej (czasu wygaśnięcia). Jeśli potrzebujesz go tylko do celów eksperymentalnych, spróbuj użyć ctrl + shift + del, aby wyczyścić całą pamięć podręczną naraz w przeglądarce Firefox. Trzecim rozwiązaniem jest użycie wielu dodatków, które kończą się w Firefoksie, aby wyczyścić pamięć podręczną na podstawie linii czasowych.