Während der Entwicklung muss ich den Cache in Firefox ständig "leeren", damit es die neueste Version von JavaScript-Dateien verwendet.
Gibt es eine Einstellung (about: config), um das Caching für JavaScript-Dateien vollständig zu deaktivieren? Oder, wenn nicht, für alle Dateien?
javascript
firefox
caching
Thilo
quelle
quelle
Die Webentwickler-Symbolleiste bietet eine Option zum Deaktivieren des Caching, wodurch es sehr einfach ist, es bei Bedarf ein- und auszuschalten.
quelle
Haben Sie zu verwenden versucht CTRL- F5die Seite zu aktualisieren?
quelle
Es gibt keine spezielle Option, um das Caching nur für JavaScript zu deaktivieren. Sie müssen das Caching vollständig deaktivieren.
FireBug bietet eine Option zum Deaktivieren des Browser-Cache im Dropdown-Menü der Registerkarte "Netzwerk".
quelle
Auf derselben Seite, auf der Sie das Caching deaktivieren möchten, gehen Sie wie folgt vor: Zu Ihrer Information: Die Version, an der ich arbeite, ist 30.0
Sie können :
Danach wird die Seite von selbst neu geladen (Sie sind eingeschaltet) und alles wird erneut zwischengespeichert, und jede weitere Anfrage wird jedes Mal erneut gespeichert. Sie können den Webentwickler immer offen halten, um ein Auge zu behalten und sicherzustellen, dass sie immer aktiviert ist (überprüfen). .
quelle
Firefox 48-Entwicklertools
Ermöglicht das Deaktivieren des Cache nur, wenn die Toolbox geöffnet ist. Dies ist ideal für die Webentwicklung:
https://stackoverflow.com/a/27397425/895245 hat einen ähnlichen Inhalt, aber die Positionierung hat sich seitdem etwas geändert.
quelle
Wenn Sie mit serverseitigem Code arbeiten, können Sie eine Zufallszahl generieren und diese auf folgende Weise an das Ende des src anhängen ...
src = "yourJavascriptFile.js? randomNumber = 434534"
wobei die randomNumber jedes Mal zufällig generiert wird.
quelle
Ich weiß, dass ich eine alte Frage wiederbelebe, aber ich habe heute versucht, dieses Problem zu lösen und eine alternative Lösung zu finden. Das Umschalten des Caching, wenn ich testen möchte, war für mich nicht wirklich akzeptabel, und wie andere bereits erwähnt haben, funktioniert die harte Aktualisierung (Strg + Umschalt + R) nicht immer.
Stattdessen habe ich mich dafür entschieden, Folgendes in meine vhost.conf-Datei (kann auch in .htaccess ausgeführt werden) in meiner Entwicklungsumgebung einzufügen:
In meiner Entwicklungsumgebung stellt dies sicher, dass js und css immer abgerufen werden. Außerdem wirkt es sich nicht auf den Rest meines Browsings aus und funktioniert auch für alle Browser, sodass das Testen in Chrome / dh usw. ebenfalls einfach ist.
Wir haben das Snippet hier gefunden, einige andere nützliche Apache-Tricks: http://www.askapache.com/htaccess/using-http-headers-with-htaccess.html#prevent-caching-with-htaccess
Um sicherzustellen, dass meine Kunden immer die neueste Version in der Produktion sehen, erhöhen wir die Abfragezeichenfolge auf dem js-Include bei jedem Update, d. H.
Dies zwingt die Browser meiner Clients, ihren lokalen Cache zu aktualisieren, wenn sie einen neuen Querystring sehen, aber dann die neue Kopie zwischenspeichern, bis die Datei erneut aktualisiert wird
quelle
Die beste Strategie besteht darin, Ihre Site so zu gestalten, dass eine eindeutige URL zu Ihren JS-Dateien erstellt wird, die bei jeder Änderung zurückgesetzt wird. Auf diese Weise wird es zwischengespeichert, wenn keine Änderung vorgenommen wurde, aber sofort neu geladen, wenn eine Änderung auftritt.
Sie müssten sich an Ihre spezifischen Umgebungstools anpassen. Wenn Sie jedoch PHP / Apache verwenden, ist dies eine großartige Lösung für Sie und die Endbenutzer.
http://verens.com/archives/2008/04/09/javascript-cache-problem-solved/
quelle
Sie können CTRL- verwenden F5, um den Cache unter Umgehung neu zu laden.
Sie können in Firefox festlegen, dass der Cache nicht verwendet wird
Sie können Ihren Webserver so einrichten, dass er Header ohne Cache / Expires / Cache-Control für die JS-Dateien sendet.
Hier ist ein Beispiel für einen Apache-Webserver.
quelle
Wenn Sie FireBug verwenden, können Sie im Dropdown-Menü der Registerkarte "Netzwerk" den Cache des Browsers deaktivieren.
quelle
Die letzten beiden veröffentlichten Lösungen haben Vor- und Nachteile, aber beide sind meiner Meinung nach großartige Lösungen.
Möglicherweise möchten Sie Ihre Sitzungs-ID so in Ihre URL einbetten, um die Sicherheit zu erhöhen. Aber in der Entwicklung sollte das keine Rolle spielen, aber was ist, wenn Sie vergessen, es zu entfernen? Funktioniert das auch wirklich? Würden Sie nicht so etwas wie einen fortlaufenden Zahlengenerator benötigen (in der Sitzung gespeicherte Trefferanzahl oder vielleicht sogar nur, wenn 1 dann 0, wenn 0 dann 1)?
Wenn Sie eine Sitzungs-ID (oder einen anderen Sequenzer) hinzufügen, müssen Sie daran denken, sie jeder Ressource hinzuzufügen, die nicht zwischengespeichert werden soll. Einerseits ist dies besser, da Sie Ihre Sitzungs-ID nur in die Ressource einfügen können, die Sie aktiv entwickeln und testen. Auf der anderen Seite bedeutet dies, dass Sie dies tun müssen und daran denken müssen, dies für die Produktion zu entfernen.
Das Ändern der Datei vhost.conf oder der Datei .htaccess macht den Trick gut, ohne dass Sie daran denken müssen, die Sitzungs-ID hinzuzufügen und zu entfernen. Der Nachteil ist jedoch, dass die Leistung aller JS- und CSS-Ressourcen beeinträchtigt wird. Wenn Sie große Dateien haben, wird dies Sie verlangsamen.
Beides scheint eine großartige, elegante Lösung zu sein - hängt von Ihren Bedürfnissen ab.
quelle
Ich verwende CTRL- SHIFT-, DELETEdas die Datenschutzfunktion aktiviert und es Ihnen ermöglicht, Ihren Cache zu leeren, Cookies zurückzusetzen usw. auf einmal. Sie können es sogar so konfigurieren, dass es nur funktioniert, anstatt ein Dialogfeld aufzurufen, in dem Sie zur Bestätigung aufgefordert werden.
quelle
In höheren Versionen von Firefox wie Nightly gibt es eine Option namens "Cache deaktivieren". Sie finden sie, indem Sie auf das Zahnrad klicken. Diese Option funktioniert nur in der aktuellen Sitzung. Wenn Sie also den Inspektor schließen und neu starten, müssen Sie ihn erneut überprüfen, wenn der Fang deaktiviert werden soll.
quelle
Nach 2 Stunden Suche nach verschiedenen Alternativen hat dies für mich funktioniert.
Meine Anforderung bestand darin, das Caching von JS- und CSS-Dateien in meiner frühlingsgesicherten Webanwendung zu deaktivieren. Gleichzeitig werden diese Dateien "innerhalb" einer bestimmten Sitzung zwischengespeichert.
Das Übergeben einer eindeutigen ID bei jeder Anfrage ist einer der empfohlenen Ansätze.
Und das habe ich getan: - Statt
ich benutzte
Alle Nachteile des oben genannten Ansatzes sind willkommen. Sicherheitsprobleme ?
quelle
In Firefox 45 können die Optionen für den Festplatten-Cache festgelegt werden, indem der Wert von: browser.cache.disk.enable geändert wird
Der Wert kann auf der Seite "about: config" eingestellt werden.
Auf http://kb.mozillazine.org/About:config_entries#Browser habe ich die folgende Beschreibung für "browser.cache.disk.enable" gefunden:
True (Standard): Verwenden Sie den Festplatten-Cache bis zu der in browser.cache.disk.capacity angegebenen Kapazität. False: Deaktivieren Sie den Festplatten-Cache (der gleiche Effekt wie das Setzen von browser.cache.disk.capacity auf 0).
quelle
Dies kann zunächst einfach durchgeführt werden, z. B. durch PHP, um den Browser zu zwingen, Dateien basierend auf dem Cache-Datum (Ablaufzeit) zu erneuern. Wenn Sie es nur für experimentelle Zwecke benötigen, versuchen Sie, mit Strg + Umschalt + Entf den gesamten Cache im Firefox-Browser auf einmal zu löschen. Die dritte Lösung besteht darin, viele Add-Ons zu verwenden, die für Firefox beendet werden, um den Cache basierend auf Zeitleisten zu löschen.
quelle