it-swarm.com.de

Stoppen Sie das Zwischenspeichern von JS-Dateien in Chrome

Ich werde eine Änderung an meinen JS-Dateien vornehmen, aber das ändert sich nicht wirklich im Browser. Ich muss die Dateien jedes Mal umbenennen, damit sie neu geladen wird. Gibt es eine Art .htaccess-Befehl, den ich hinzufügen kann, oder etwas, damit das Caching aufhört? 

Es ist sogar das Zwischenspeichern meines HTML-Kerns. Ich muss meinen gesamten Browser erneut öffnen, um Änderungen zu sehen. Könnte es möglicherweise ein Serverproblem sein?

121
Howdy_McGee

Sie können auf das Einstellungssymbol in der rechten oberen Ecke klicken ... | Weitere Tools | Entwicklertools | Netzwerk | Cache deaktivieren (während DevTools geöffnet ist)

Für Windows ist dies F12 oder CTRL + SHIFT + I während auf dem Mac CMD + SHIFT + I öffnet DevTools.

Neuer Pfad für Chrome Update Sept 2018:

Klicken Sie oben rechts auf das Einstellungssymbol ... | Einstellungen | Einstellungen | Entwicklertools | Netzwerk | Cache deaktivieren (während DevTools geöffnet ist)

184
MartinHN

Ein schnellerer Weg ist dies, indem Sie mit der rechten Maustaste auf das Aktualisierungssymbol neben der Adressleiste klicken und Empty Cache und Hard Reload wählen.

Stellen Sie nur sicher, dass die Dev-Tools von Chrome geöffnet sind. (Drücken Sie F12) Übrigens ... Dieser Trick funktioniert nur unter Chrome für Windows, Ubuntu und Mac OS

56
Nicole Rivers

Halten Sie die Umschalttaste gedrückt, während Sie auf die Schaltfläche zum erneuten Laden klicken.

16
StilesCrisis

füge so etwas wie script.js?a=[random Number] mit der von PHP generierten Zufallszahl hinzu.

Haben Sie es mit expire = 0 versucht, das Pragma "no-cache" und "cache-control = NO-CACHE"? (Ich weiß nicht, was sie über Skripte sagen). 

12
EGOrecords

Ein paar Ideen:

  1. Wenn Sie Ihre Seite in Chrome aktualisieren, führen Sie eine STRG + F5 aus, um eine vollständige Aktualisierung durchzuführen.
  2. Selbst wenn Sie das Ablaufdatum auf 0 setzen, wird es während der Sitzung noch zwischengespeichert. Sie müssen Ihren Browser wieder schließen und erneut öffnen.
  3. Stellen Sie sicher, dass beim Speichern der Dateien auf dem Server die Zeitstempel aktualisiert werden. Chrome gibt zunächst einen HEAD-Befehl anstelle eines vollständigen GET aus, um festzustellen, ob die vollständige Datei erneut heruntergeladen werden muss. Der Server verwendet den Zeitstempel, um zu sehen.

Wenn Sie die Zwischenspeicherung auf Ihrem Server deaktivieren möchten, können Sie Folgendes tun:

Header set Expires "Thu, 19 Nov 1981 08:52:00 GM"
Header set Cache-Control "no-store, no-cache, must-revalidate, post-check=0, pre-check=0"
Header set Pragma "no-cache"

In .htaccess

10

Schnelle Schritte:

1) Öffnen Sie das Dashboard der Entwicklertools, indem Sie das Chrome-Menü -> Extras -> Entwicklertools aufrufen

2) Klicken Sie auf das Einstellungssymbol auf der rechten Seite (es ist ein Zahn!)

3) Aktivieren Sie das Kontrollkästchen "Cache deaktivieren (wenn DevTools geöffnet ist)".

4) Nun, während das Dashboard aktiv ist, klicken Sie einfach auf Aktualisieren. JS wird nicht zwischengespeichert!

6
StackG

Beim Aktualisieren meiner Webanwendungen verwende ich entweder einen Handler, um eine einzelne JS-Datei zurückzugeben, um die massiven Treffer auf meinem Server zu vermeiden, oder füge eine kleine Abfragezeichenfolge hinzu:

<script type="text/javascript" src="/mine/myscript?20111205"></script>
2
Ryan Ternier
<Files *>
Header set Cache-Control: "no-cache, private, pre-check=0, post-check=0, max-age=0"
Header set Expires: 0
Header set Pragma: no-cache
</Files>
1
Alfabravo

Das Problem ist, dass Chrome must-revalidate im Cache-Control-Header haben muss, um Dateien erneut zu überprüfen, um zu sehen, ob sie erneut abgerufen werden müssen.

Sie können jederzeit SHIFT-F5 und die Aktualisierung von Chrome erzwingen. Wenn Sie dieses Problem auf dem Server beheben möchten, fügen Sie diesen Antwortheader hinzu:

Cache-Control: must-revalidate

Dadurch wird Chrome angewiesen, den Server zu überprüfen und festzustellen, ob eine neuere Datei vorhanden ist. Wenn eine neuere Datei vorhanden ist, wird sie in der Antwort empfangen. Wenn nicht, erhält es eine Antwort 304 und die Sicherheit, dass die im Cache befindliche Antwort aktuell ist.

Wenn Sie diesen Header NICHT festlegen, wird Chrome never beim Server überprüfen, ob eine neuere Version vorhanden ist.

Hier ist ein Blogbeitrag , der das Thema weiter bespricht.

1
AgilePro

Ich weiß, das ist eine "alte" Frage. Aber die Kopfschmerzen mit dem Caching sind nie so. Nach vielen Versuchen und Fehlern stellte sich heraus, dass einer unserer Webhosting-Anbieter über CPanel diese App namens Cachewall hatte. Ich habe gerade auf Entwicklungsmodus aktivieren geklickt und ... voilà !!! Es hat sofort den langanhaltenden Schmerz gestoppt:) Hoffe, das hilft jemand anderem ... R

1
Ramon Araujo
  1. Öffnen Sie die Entwicklertools

    • Entweder F12
    • Oder ... -> More Tools -> Developer Tools
  2. Klicken Sie auf Empty Cache and Hard Reload

    • Klicken Sie entweder mit der rechten Maustaste auf das Aktualisierungssymbol (nur links neben der Adressleiste).
    • Oder klicken Sie mit der linken Maustaste auf das Aktualisierungssymbol und halten Sie es 1 Sekunde lang gedrückt
0
Xin Wang

Sie können stattdessen ein Inkognito-Fenster öffnen. Der Wechsel zu einem Inkognito-Fenster funktionierte für mich, als das Deaktivieren des Caches in einem normalen Chrome-Fenster eine JavaScript-Datei, die ich seit dem letzten Cache geändert hatte, immer noch nicht neu lädt.

https://www.quora.com/Does-incognito-mode-on-Chrome-use-the-cache-das-wurde-vorletzt gespeichert

0
jones-chris

Ich habe die gleiche CSS-Datei erhalten, als ich die Website (auf dem Hosting-Firmenserver mit echter Domäne) durchsuche, und ich konnte die aktualisierte Version nicht auf Chrome erhalten. Ich konnte die aktualisierte Version der Datei abrufen, wenn ich sie in Firefox durchsuche. Keine dieser Antworten funktionierte für mich. Ich habe auch die Website-Dateien auf meinem Computer und browse mit localhost auf meinem lokalen Apache-Server. Ich habe meinen Apache-Server heruntergefahren und konnte die aktualisierte Datei abrufen. Irgendwie hat mein lokaler Apache-Server den Chrome-Cache durcheinander gebracht. Ich hoffe, das hilft jemandem, da es sehr schwer für mich war, das zu beheben. 

0
Alp Hancıoğlu