it-swarm.com.de

Deaktivieren des Chrome-Caches für die Website-Entwicklung

Ich ändere das Erscheinungsbild einer Website (CSS-Änderungen), kann jedoch das Ergebnis in Chrome nicht sehen, da der dauerhafte Cache störend ist. Ich habe es versucht Shift+ aktualisieren, aber es funktioniert nicht.

Wie kann ich den Cache vorübergehend deaktivieren oder die Seite so aktualisieren, dass ich die Änderungen sehen kann?

1532
tomermes

Die Chrome DevTools können den Cache deaktivieren.

  1. Rechtsklick und wähle Inspect Element um die DevTools zu öffnen. Oder verwenden Sie die folgenden Tastaturkürzel :
    • F12
    • Command+Option+i auf dem Mac
    • Control+Shift+i unter Windows oder Linux
  2. KlickenNetwork in der Symbolleiste, um den Netzwerkbereich zu öffnen.
  3. Check das Kontrollkästchen Disable cache oben.

screenshot of development tools panel

Denken Sie daran, wie in Tweet von @ ChromiumDev angegeben, ist diese Einstellung nur aktiv, wenn die Devtools geöffnet sind.

Beachten Sie, dass dies dazu führt, dass alle Ressourcen neu geladen werden. Wenn Sie den Cache nur für einige Ressourcen deaktivieren möchten, können Sie den HTTP-Header ändern , den Ihr Server zusammen mit Ihren Dateien sendet.

Wenn Sie das Kontrollkästchen Disable cache nicht verwenden möchten, drücken Sie lange auf die Schaltfläche zum Aktualisieren bei geöffneten DevTools, um ein Menü mit den Optionen für Hard Reload oder Empty Cache and Hard Reload anzuzeigen, die einen ähnlichen Effekt haben sollten. Lesen Sie mehr über nterschied zwischen den Optionen . Die folgenden Verknüpfungen sind verfügbar:

  • Command+Option+R auf dem Mac
  • Control+Shift+R unter Windows oder Linux

long press

1919
Steve

enter image description here

Das Leeren des Caches ist zu lästig, wenn Sie den Cache 30 Mal pro Stunde löschen müssen. Ich installierte eine Chrome-Erweiterung namens Classic Cache Killer, die den Cache bei jedem Laden der Seite löscht.

Chrome Store Link (kostenlos)(Jetzt ohne Malware!)

Jetzt aktualisieren mein Mock Json, Javascript, CSS, HTML und Daten jedes Mal, wenn auf jede Seite geladen wird

Ich niemals muss mir Sorgen machen, wenn ich meinen Cache leeren muss.

Ich habe ungefähr 20 Cache-Reiniger gefunden, die ich gefunden habe, aber dieser schien leicht und ohne Aufwand zu sein. In einem Update kann Cache Killer jetzt "immer eingeschaltet" bleiben.

Hinweis: Ich kenne den Plugin-Autor in keiner Weise. Ich fand es einfach nützlich.

236
Evildonald

Picture of reload menu

  1. Öffnen Sie die Chrome-Entwicklerkonsole, indem Sie drücken F12 und dann (bei geöffneter Konsole):

  2. Klicken Sie mit der rechten Maustaste (oder halten Sie die linke Maustaste gedrückt) auf die Schaltfläche zum Neuladen oben im Browser und wählen Sie "Cache leeren und neu laden".

Dies geht über "Hard Reload" hinaus, um den Cache vollständig zu leeren, und stellt sicher, dass beim Herunterladen von Inhalten über Javascript oder Ähnliches auch die Verwendung des Caches vermieden wird. Sie müssen sich nicht mit Einstellungen oder Ähnlichem herumschlagen, es ist eine schnelle 1-Schuss-Lösung.

195
JackArbiter

Es gibt zwei weitere Optionen für das Seiten-Caching in Chrome endgültig deaktivieren:

1. Deaktivieren Sie den Chrome-Cache in der Registrierung

Registrierung öffnen (Start -> Befehl -> Regedit)

Suche nach: HKEY_CLASSES_ROOT\ChromeHTML\Shell\open\command

Ändern Sie den Teil nach ... chrom.exe "auf diesen Wert: –disable-application-cache –media-cache-size=1 –disk-cache-size=1 — "%1"

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

WICHTIG: 

  • es gibt ein Leerzeichen und einen Bindestrich nach ... chrome.exe " 

  • lassen Sie den Pfad zu chrome.exe unverändert 

  • Wenn Sie die Zeile kopieren, stellen Sie sicher, dass die Anführungszeichen tatsächlich Anführungszeichen sind. 

2. Deaktivieren Sie den Chrome-Cache, indem Sie die Verknüpfungseigenschaften ändern.

Klicken Sie mit der rechten Maustaste auf das Chrome-Symbol, und wählen Sie im Kontextmenü "Eigenschaften" aus. __ Fügen Sie dem Pfad den folgenden Wert hinzu: –disk-cache-size=1

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

WICHTIG: 

  • es gibt ein Leerzeichen und einen Bindestrich nach ... chrome.exe " 

  • lassen Sie den Pfad zu chrome.exe unverändert

39
user2653348

Wenn Sie die Einstellungen von Chrome nicht bearbeiten möchten, verwenden Sie den Inkognito-Modus für dieselben Ergebnisse.

24
Karl Morrison
  1. F12 Chrome DevTools öffnen
  2. F1 um die DevTools-Einstellungen zu öffnen
  3. Überprüfen Sie Cache deaktivieren (während DevTools geöffnet ist) wie unten gezeigt:

Dies befindet sich derzeit auf der Registerkarte Einstellungen . Dies ist die Standardeinstellung. Möglicherweise müssen Sie nach unten scrollen. Dieses Kontrollkästchen wurde mindestens ein paar Mal verschoben, seit diese Frage gestellt wurde. Das letzte Mal habe ich nachgesehen, es war in der mittleren Spalte unten. Wenn Sie es auf einem dünneren Bildschirm geöffnet haben und sich unter Einstellungen 2 Spalten befinden, befindet es sich möglicherweise oben rechts. Fühlen Sie sich frei, diesen Beitrag zu aktualisieren, wenn er sich ändert oder kommentiert, und ich werde den Beitrag aktualisieren.

enter image description here

21
Tony L.

Zusätzlich zur Option zum Deaktivieren des Caches (die Sie über eine Schaltfläche in der unteren rechten Ecke des Fensters der Entwicklertools aufrufen können - Tools | Entwicklertools oder Ctrl + Shift + I), im Netzwerkbereich der Entwickler-Tools können Sie jetzt mit der rechten Maustaste klicken und "Cache löschen" aus dem Popup-Menü auswählen.

21
Tim Keating

Anstelle von "F5" Einfach drücken:

"Strg + F5"

17
Arvand

Im kanarischen Kanal (und vielleicht folgen der Entwicklungskanal und der stabile Kanal), ist dies als zweite Option auf der linken Seite unter "Allgemein" zu finden.

Disable Cache in Chrome Canary Channel

Darüber hinaus besteht immer die Möglichkeit, über Strg + Umschalttaste + N in den Inkognito-Modus zu wechseln. Auch wenn dies Ihre Session leider auch beendet. 

17
Bruiser

Das Deaktivieren des Cache-Kontrollkästchens in Chrome (v17 hier, aber seit v15 glaube ich) befindet sich nicht in der Haupteinstellungen-Benutzeroberfläche. Es befindet sich in der Benutzeroberfläche der Entwicklerwerkzeuge.

  1. Wählen Sie im Schraubenschlüssel-Symbolmenü des Browserfensters (Prefs-Menü) Extras → Entwicklertools

  2. Klicken Sie in der erscheinenden Benutzeroberfläche für Entwickler-Tools auf das Zahnradsymbol unten rechts.

  3. Aktivieren Sie das Kontrollkästchen "Cache deaktivieren" im Abschnitt "Netzwerk".

14
Mason

Verwenden Ctrl+Shift+R zu erfrischen war schön, bekam aber nicht alles was ich brauchte. dennoch konnten einige Dinge nicht aktualisiert werden, wie z. B. in js und css gespeicherte Daten. fand eine Lösung: a Symbolleiste von Google für Chrome-Webentwickler . Nachdem Sie die Symbolleiste installiert haben, wählen Sie Optionen und "Seite zurücksetzen".

14
tomermes

Das Deaktivieren des Caches in Chrome funktioniert nur, wenn Entwickler-Tools geöffnet sind

13
jamiethepiper

Bis der Fehler behoben ist, können Sie Cache löschen Chrome-Plugin verwenden und Sie können auch eine Tastenkombination dafür festlegen.

Klicken Sie nach der Installation mit der rechten Maustaste und gehen Sie zu den Optionen:

enter image description here

Automatically reload active tab after clearing data prüfen:

enter image description here

Wählen Sie Everything für Zeitraum:

enter image description here

Und dann können Sie zu Menü => Extras => Erweiterungen gehen:

enter image description here

Klicken Sie unten auf Tastaturkürzel:

enter image description here

Und stellen Sie zum Beispiel Ihre Tastenkombination ein Ctrl + Shift +R:

enter image description here

12

Wenn Sie nichts dagegen haben, die Bandbreite zu nutzen, ist es aus mehreren Gründen sicherer, die Zwischenspeicherung zu deaktivieren, und wird von vielen Sicherheitssites empfohlen.

Chromium sollte nicht arrogant genug sein, um Entscheidungen zu treffen und Einstellungen für Benutzer durchzusetzen.

Sie können den Cache unter UNIX mit --disk-cache-dir =/dev/null deaktivieren.

Dies kann zu unerwarteten Abstürzen führen, aber wenn dies der Fall ist, weist dies eindeutig auf einen schwerwiegenderen Fehler hin, der auf jeden Fall behoben werden sollte.

8
Kevin Chadwick

Das könnte jemandem helfen. 

Ich habe mein Nginx für verrücktes Caching manipuliert. Das Deaktivieren des Cache in Netzwerktools und das explizite Löschen des Caches funktionieren daher nicht.

Eine sehr einfache, aber langweilige Lösung ist, ich öffne gerade einen neuen Inkognito-Tab. Überraschenderweise funktioniert es immer!

Eine harte Aktualisierung im Inkognito-Modus führt zu jedem Trick, den ich im selben Modus laden möchte.

6
Rexford

Wie wäre es mit einem Bookmarklet, das den Seitennamen ändert, um zu verhindern, dass die Seite zwischengespeichert wird? In Chrome würden Sie ein neues Lesezeichen erstellen und den Code in die URL einfügen. Klicken Sie auf das Lesezeichen. Die Seite wird mit einem Zeitstempel neu geladen, um den Cache zu verhindern.

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
mbokil

Ich bin gerade erwischt worden, aber nicht unbedingt aufgrund von Chrome.

Ich verwende jQuery, um AJAX -Anfragen zu stellen. Ich hatte das Cache-Attribut in der Anfrage auf true gesetzt:

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

Wenn Sie dies auf false setzen, wurde mein Problem behoben. Dies ist jedoch nicht ideal.

Ich habe keine Ahnung, wo diese Daten gespeichert werden, aber ich weiß, dass Chrome niemals den Server für eine Anfrage getroffen hat.

4
DynamicDan

Es gibt jetzt einen besseren und schnelleren Weg (Chrome-Version 59.x.x.): 

Klicken Sie mit der rechten Maustaste auf das Reload-Symbol (links vom URL-Feld) und Sie erhalten ein Dropdown-Menü. Wählen Sie die dritte Option: 'Leerer Cache und Hard-Reload'.

Diese Option ist nur verfügbar, wenn die Entwicklertools geöffnet sind. (Beachten Sie den Unterschied zu Option 2: 'Hard reload' -cmd-shift-R). Kein Leergut hier!

4
Luftwaffle

Im Chrome-Webshop ist eine Chrome-Erweiterung mit dem Namen Clear Cache verfügbar.

Ich benutze es jeden Tag und es ist ein sehr nützliches Werkzeug, denke ich. Sie können es als Schaltfläche zum erneuten Laden verwenden und den Cache leeren. Wenn Sie auch Cookies, Speicher für Ländereinstellungen, Formulardaten usw. möchten, können Sie festlegen, auf welcher Domäne dies geschieht. So können Sie diese ganze Scheiße nur mit der Reload-Taste löschen, die Sie ohnehin drücken müssen - auf Ihren gewählten Domains.

Sehr sehr nett!

In den Optionen können Sie hierfür auch eine Tastenkombination definieren!

Eine andere Möglichkeit besteht darin, Ihr Chrome-Fenster im Inkognito-Modus zu starten. Hier sollte auch der Cache vollständig deaktiviert werden.

3
chris

Wie kann ich den Cache vorübergehend deaktivieren oder die Seite so aktualisieren, dass ich die Änderungen sehen konnte?

Es ist unklar, auf welchen "Cache" Sie sich beziehen. Es gibt verschiedene Methoden, mit denen ein Browser Inhalte dauerhaft zwischenspeichern kann. Web Storage einer von ihnen sein, Cache-Control ein anderer sein.

Einige Browser haben auch eine Cache , die in Verbindung mit Service Workers verwendet wird, um Progressive Web Apps (PWAs) zu erstellen, die Offline-Unterstützung bieten.

So löschen Sie den Cache für eine PWA

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

um die Namen der Cache-Schlüssel aufzulisten, führen Sie Folgendes aus:

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

um einen Cache-Schlüssel nach Namen zu löschen (d. h. my-site-cache). Aktualisieren Sie dann die Seite.

Wenn nach der Aktualisierung in der Konsole Arbeiterfehler angezeigt werden, müssen Sie möglicherweise auch die Registrierung der registrierten Arbeiter aufheben:

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

Eine weitere Option zum Deaktivieren des Cache bietet meine 3. Chrome-Erweiterung Page Size Inspector , die den Cache genauso deaktiviert wie Devtools.

Darüber hinaus meldet die Erweiterung die Seitengröße, die Cache-Nutzung, Netzwerkanforderungen und die Ladezeit einer Webseite auf bequeme Weise. Plus seine Open Source bei Github .

 Screenshot - Page Size Inspector

2
Tomi Mickelsson

Wenn Sie ServiceWorkers verwenden (z. B. für progressive Web-Apps), müssen Sie wahrscheinlich auch unter "Update beim Neuladen" unter "Anwendung"> "Service Worker" in den Entwicklertools nachsehen.

enter image description here

2
Bob

Sie wissen nicht genau, was Sie verwenden, aber wenn Sie ASP.Net verwenden, können Sie Folgendes tun, was wie ein Zauber wirkt:

<link href="@Url.Content("~/Content/Site.css")[email protected]" rel="stylesheet" />

Grundsätzlich werden Datum und Uhrzeit bei jeder Ausführung automatisch an das Ende der Datei angehängt. Das bedeutet, da sich der Dateiname technisch unterscheidet, müssen Sie sich nie darum kümmern, dass er erneut zwischengespeichert wird.

2
MattE

Ich hatte das gleiche Problem, ich versuchte es:

  • Control Shift R,
  • Cache in F12 deaktivieren
  • Steuerung F5.

Dann stellte ich fest, dass die Verwendung von eines .appcache-Manifests für eine Nicht-HTTPS-Site nicht mehr empfohlen wird . Ich habe meine site.appcache -Datei und ihre Referenz im HTML-Tag entfernt, und jetzt sehe ich die neueste Version jeder Seite!

1
Ole EH Dufour

Wenn Ihre Site PHP verwendet, platzieren Sie den folgenden kleinen PHP -Ausschnitt am Anfang Ihrer HTML-Seite:

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

Jetzt, wo Sie Ressourcen wie CSS- oder JS-Dateien in ein Skript oder Link-Element laden, fügen Sie Ihren generierten Zufallswert an die Anforderungs-URL an, nachdem Sie '?' zur URI über PHP:

    echo $Rand;

Das ist es! Es wird keinen Browser mehr geben, der Ihre Site zwischenspeichert - unabhängig von der Art.

Entfernen Sie Ihren Code natürlich vor der Veröffentlichung oder setzen Sie $ Rand einfach auf eine leere Zeichenfolge, um das Zwischenspeichern erneut zu ermöglichen.

0
Torsten Barthel

Ich habe die anderen oben beschriebenen Optionen verwendet, finde jedoch am besten, den folgenden Parameter zum Start von chrome.exe hinzuzufügen.

"C:\Programme (x86)\Google\Chrome\Application\chrome.exe" --disk-cache-size = 1 - media-cache = 1

Ich finde, das Deaktivieren des Mediencaches ist eine gute Idee, aber der Vollständigkeit halber ist es hier.

Tatsächlich möchte ich eine Option zum vollständigen Deaktivieren des Caches, um den Speicher für IO anstelle meiner Festplatte zu verwenden (was die Ladezeit ebenfalls um das 10-fache beschleunigen würde!). Ich denke jedoch nicht an Chrome oder einen anderen Browser hat diese Option noch.

0
Ahmed

Der Cache-Killer von Chrome ist bei weitem die beste Option. Da die Store-URL zum Installieren des Cache-Killers nicht verfügbar ist, können Sie die CRX-Datei hier herunterladen:

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

Öffnen Sie nach dem Herunterladen der Erweiterungsdatei Chrome -> Weitere Tools -> Erweiterungen, und ziehen Sie dann die CRX-Datei aus dem Datei-Explorer oder Ihrem Desktop (je nachdem, wo Sie die Datei heruntergeladen haben) in das Chrome-Fenster, um die Erweiterung zu installieren.

0
BernieSF

Ich befand mich in einer Situation, in der der Browser die Cache-Daten von der Festplatte lädt, obwohl der Cache deaktiviert war (ich habe Chrome verwendet). Alle meine CSS und JS wurden vom Server geladen, nicht jedoch die Webseite. Dies geschah sowohl auf meiner lokalen als auch in der Produktion.

Um das Problem zu beheben, muss ich einen zusätzlichen Parameter in meine URL einfügen, um den Browser zu zwingen, die Webseite vom Server abzurufen, selbst der Controller hat es nicht benötigt.

Ich habe ASP.Net verwendet, hier ist mein Beispiel

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

Das Ergebnis ist, es erzeugt einen Link wie: http://www.myweb.com/Home/Index?ts=636558555408282209

Dies ist meine Situation und Lösung. Hoffentlich könnte es jemandem helfen.

0
Jansen

Seit Version 50 (wenn ich mich recht erinnere) wurde die Option "Cache deaktivieren" aus den Devtool-Einstellungen entfernt. Gehen Sie zur Registerkarte "Netzwerk" und es gibt die Option "Cache deaktivieren".

0
boi_echos

Fügen Sie diese Zeichenfolge Ihrem Code hinzu, und es sollte den Trick ausführen.

<meta name="robots" content="noarchive">
0

Ich verwende (in Windows), Strg + Umschalt + Löschen und wenn der Chrome-Dialog erscheint, drücken Sie die Eingabetaste. Dies kann so konfiguriert werden, dass bei jeder Ausführung dieser Sequenz das gelöscht werden muss. Keine Notwendigkeit, Entwickler zu haben. Werkzeuge öffnen sich in diesem Fall.

0
santon