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


1607

Ich ändere das Erscheinungsbild einer Site (CSS-Änderungen), kann das Ergebnis in Chrome jedoch nicht sehen, da der persistente Cache nervt. Ich habe 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?


185
Dies ist wahrscheinlich der schlimmste Chrome-Fehler. Ich habe viel zu viel Zeit damit verschwendet, mich zu fragen, warum etwas schief gelaufen ist, nur um festzustellen, dass - obwohl ich ein vollständiges Nachladen mit ^ F5 erzwungen habe - eine Stunde alte veraltete Ressource verwendet wird.
Glenn Maynard

45
Browser sollen zwischenspeichern. Denken Sie daran, dass Ihre Benutzer auch zwischenspeichern - und daher möglicherweise keine Änderungen sehen, die Sie vornehmen, nachdem Ihre Site in Produktion ist. Um dies zu vermeiden, müssen Sie Ihre Dateien versionieren. my_css.css? version = Something_unique. Wenn der Browser die Version zuvor noch nicht gesehen hat, lädt er die Datei erneut herunter. Something_unique könnte beispielsweise das Datum der letzten Änderung sein.
user984003

34
@ user984003 Ctrl+Shift+Roder Shift+Rsollte den Cache
leeren

19
@ user984003 Nicht, wenn ich ihnen sage, dass sie nicht zwischenspeichern sollen. Ja, eine Cache-Busting-Versionsnummer eignet sich hervorragend für die endgültige Veröffentlichung, da sie von Benutzern verwendet wird. Wenn ich jedoch eine neue Site erstelle und inkrementelle Änderungen sehen möchte, ändere ich die Versionsnummer nicht jedes Mal . Deshalb entwickle ich mit Firefox - es hat die zuverlässigsten Optionen zum Deaktivieren des Caches!
Andrew

11
@ user984003 ja, Browser sollen ... beim Surfen zwischenspeichern. Bei der Entwicklung benötigen Sie mehr Kontrolle darüber.
Ahnbizcad

Antworten:


1976

Die Chrome DevTools können den Cache deaktivieren.

  1. Klicken Sie Inspect Elementmit der rechten Maustaste und wählen Sie , um die DevTools zu öffnen. Oder verwenden Sie eine der folgenden Tastaturkürzel :
    • F12
    • Command+ Option+ iAuf Mac
    • Control+ Shift+ iUnter Windows oder Linux
  2. Klicken Sie Network in die Symbolleiste, um den Netzwerkbereich zu öffnen.
  3. Aktivieren Sie das Disable cacheKontrollkästchen oben.

Screenshot des Panels der Entwicklungstools

Beachten Sie, wie in einem Tweet von @ChromiumDev angegeben, dass diese Einstellung nur aktiv ist, wenn die devtools geöffnet sind .

Beachten Sie, dass dadurch 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 nicht verwenden möchten , Disable cacheCheckbox, ein langer Druck auf den Refresh - Button mit den DevTools geöffnet zeigt ein Menü mit den Optionen Hard Reloadoder Empty Cache and Hard Reloaddie eine ähnliche Wirkung haben sollte. Lesen Sie mehr über den Unterschied zwischen den Optionen . Die folgenden Verknüpfungen sind verfügbar:

  • Command+ Option+ RAuf Mac
  • Control+ Shift+ RUnter Windows oder Linux

lange drücken


255
Nach meiner Erfahrung wird diese Einstellung (und alle Einstellungen in diesem Bereich) nur wirksam, wenn die Entwicklungswerkzeuge geöffnet sind.
Johann

28
@Steve Das funktioniert bei mir nicht. Ich erhalte keine Änderungen, obwohl ich Chrome 19.0.1084.52 habe und das Kontrollkästchen aktiviert habe, um das Caching zu deaktivieren. Ich habe es bei geöffnetem Entwicklungspanel versucht. Ich habe es mit geschlossenem versucht. Ich habe sogar versucht, meinen Browser neu zu starten und dann meinen Computer neu zu starten. Es scheint mir immer noch eine zwischengespeicherte Version der Seite zu geben. Was sollte ich tun? Chrome hat mir schon früher solche Probleme bereitet, also habe ich alles, was mit Google zu tun hat, von meinem Computer gelöscht und dann Chrome wieder installiert. Die meisten Probleme wie die Registerkarte "Verlauf für immer laden" wurden behoben. Ich denke es funktioniert immer noch nicht.
Tgwizman

11
Ich habe festgestellt, dass dies beim Aktualisieren der aktuellen Seite nach dem Ändern der Einstellung nicht funktioniert hat. Erst als ich weg und dann wieder zurück navigierte, fing es an zu funktionieren.
Matt Gibson

3
... oder Sie können einfach im Inkognito-Modus debuggen! (das keine Dateien zwischenspeichert)
Kwame

5
Diese Einstellung ist die größte Lüge in der Geschichte der Webentwicklung. Neustart meines Computers und Chrome zeigt immer noch falsche Ergebnisse, während Firefox aktuelle CSS anzeigt :(
Claudiu Creanga

247

Geben Sie hier die Bildbeschreibung ein

Das Löschen des Caches ist zu ärgerlich, wenn Sie den Cache 30 Mal pro Stunde leeren müssen. Deshalb habe ich eine Chrome-Erweiterung namens Classic Cache Killer installiert , die den Cache bei jedem Laden der Seite löscht.

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

Jetzt werden mein Mock Json, Javascript, CSS, HTML und Daten jedes Mal bei jedem Laden der Seite aktualisiert .

Ich nie Sorgen zu machen , wenn ich meinen Cache löschen müssen.

Es gibt ungefähr 20 Cache-Reiniger für Chrome, 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.


4
Ja, die Option Chrome Dev Tools scheint für mich nicht zu funktionieren. Aber Cache Killer funktioniert wie ein Zauber. Die Nachladezeit ist erheblich langsamer, wie 4-5x, aber das eigentliche Bereitstellen des neuen Inhalts ist offensichtlich viel schneller.
Bryce Johnson

2
Cache löschen und Cache deaktivieren funktionieren nur, wenn Sie auf localhost auf meinem Mac arbeiten. Für Online-Inhalte bin ich erfrischend und erfrischend in der Hoffnung, Änderungen zu sehen. Diese Erweiterung ist ein Lebensretter.
Sbpro

2
Ich habe festgestellt, dass die Verwendung von Cache deaktivieren Probleme mit dem lokalen Speicher verursacht, insbesondere mit dem Winkelspeicher mit Auth0. Cache Killer funktioniert einwandfrei und verursacht keine Probleme mit dem lokalen Speicher.
Trevorc

5
Wegen Malware aus dem Chrome Extensions Store entfernt :( Alternativen?
Semyon Vyskubov

3
Am Ende habe ich meine eigenen geschrieben, funktioniert genauso, kann aber pro Tab umschalten. MIT-Lizenz und keine Malware, das verspreche ich 😎! github.com/themichaelyang/cache-clearer
Michael Yang

199

Bild des Reload-Menüs

  1. Rufen Sie die Chrome-Entwicklerkonsole auf, indem Sie auf F12und dann (bei geöffneter Konsole) drücken :

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

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


7
Nun, es funktioniert definitiv nicht auf dem Mac. Ich habe auf diese Schaltfläche zum erneuten Laden mit verschiedenen Tastenkombinationen geklickt.)
MJB

1
Was ist Hard Reload?
ManirajSS

@ManirajSS: Es wird alles neu geladen und die Verwendung des Caches vermieden, aber es wird keine von Javascript heruntergeladenen Dinge nach dem Laden der Seite erneut herunterladen. Ich bin mir nicht sicher, warum irgendjemand es jemals benutzen würde, aber ich denke, Sie könnten sich ein paar Eckfälle einfallen lassen, in denen es nützlich wäre.
JackArbiter

2
Der Cache für Iframes innerhalb der Seite wird auch nicht gelöscht.
Pablo Mescher

7
Sie sind sich nicht sicher, wie lange dies der Fall ist, aber ab Chrome 41 funktioniert das Klicken und Halten der Schaltfläche zum erneuten Laden unter OS X, sofern das Fenster mit den Entwicklertools geöffnet ist.
Tim Keating

47

Es gibt zwei weitere Optionen, um das Seiten-Caching in Chrome endgültig zu deaktivieren :

1. Deaktivieren Sie den Chrome-Cache in der Registrierung

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

Suchen nach: HKEY_CLASSES_ROOT\ChromeHTML\shell\open\command

Ändern Sie das 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:

  • Nach ... chrome.exe steht ein Leerzeichen und ein Bindestrich. "

  • Belassen Sie den Pfad zu chrome.exe so wie er ist

  • Wenn Sie die Zeile kopieren, überprüfen Sie unbedingt, ob es sich bei den Anführungszeichen um tatsächliche Anführungszeichen handelt.

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". Fügen Sie dem Pfad folgenden Wert hinzu: –disk-cache-size=1

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

WICHTIG:

  • Nach ... chrome.exe steht ein Leerzeichen und ein Bindestrich. "

  • Belassen Sie den Pfad zu chrome.exe so wie er ist


1
Verwenden Sie Code-Tags, um Ihre Antwort besser lesbar zu machen. Ich denke, dies ist eine der besten Antworten.
ThorSummoner

3
Gute Antwort. Für die meisten Menschen ist das Deaktivieren des Caches jedoch nur eine vorübergehende Sache während der Entwicklung. Das dauerhafte Deaktivieren verlangsamt das normale Surferlebnis erheblich und ist eine schlechte Internet-Staatsbürgerschaft, da die von Ihnen besuchten Webserver unnötig belastet werden.
Danielson317

3
Ich bin mit der Sache mit der schlechten Internet-Staatsbürgerschaft nicht einverstanden. Wir sprechen hier davon, eine Abkürzung für die Entwicklerarbeit zu erstellen. Das ist also definitiv die beste Antwort, IMHO. Nur eine kleine Sache. Jedes Mal, wenn ich dies unter Windows von dieser SO-Seite in eine Chrome-Verknüpfung kopiere, werden einige der Zeichen nicht richtig angezeigt. Dies sind die richtigen: "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-application-cache --media-cache-size=1 --disk-cache-size=1Und was ist der Char direkt vorher "%1"? Das weiß ich nicht.
Peter.petrov

32

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


22

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


22
  1. F12 um Chrome DevTools zu öffnen
  2. F1 um DevTools-Einstellungen zu öffnen
  3. Überprüfen Sie Disable Cache (während DevTools geöffnet ist) , wie unten dargestellt:

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. Zuletzt 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" zwei 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.

Geben Sie hier die Bildbeschreibung ein


2
Dies entspricht der Überprüfung von "Cache deaktivieren" direkt bei F12 Chrome Devtools und wird beim Neustart von Chrome zurückgesetzt.
Bogdan Verbenets

18

Anstatt "F5" zu drücken, drücken Sie einfach:

"Strg + F5"


6
Es funktioniert auch in Firefox (nicht weil es für diese Frage relevant ist, aber jemand könnte es nützlich finden)
Donald Duck

17

Im Kanarischen Kanal (und vielleicht werden der Entwickler- und der stabile Kanal folgen) befindet sich dies als zweite Option insgesamt auf der linken Seite unter dem Abschnitt "Allgemein".

Deaktivieren Sie den Cache in Chrome Canary Channel

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


4
Nach meiner Erfahrung funktioniert dies nur, wenn Entwickler-Tools geöffnet sind. Ich war verwirrt, warum der Cache immer noch Seiten hielt, bis mir klar wurde, dass ich die Entwicklungswerkzeuge geschlossen hatte. Es ist seltsam, dass die Einstellung nicht alles außer Kraft setzt.
mbokil

Der Inkognito-Modus speichert leider einige Bilder und Dateien zwischen.
GobSmack

16

Das Aktualisieren mit Ctrl+ Shift+ Rwar nett, hat aber nicht alles bekommen, was ich brauchte. Dennoch würden einige Dinge nicht aktualisiert, wie z. B. in js und css gespeicherte Daten. fand eine Lösung: eine Symbolleiste von Google für Chrome-Webentwickler . Nachdem Sie die Symbolleiste installiert haben, wählen Sie Optionen und "Seite zurücksetzen".


2
+1. Immer noch nicht perfekt: Für die Entwicklung auf einem lokalen Computer ist der Cache völlig unnötig und führt zu Problemen. Daher wäre ich immer noch an einer Deaktivierungsfunktion interessiert, wie sie Firebug hat.
c089

15

Das Kontrollkästchen "Cache deaktivieren" in Chrome (Version 17 hier, aber seit Version 15, glaube ich) befindet sich nicht in der Benutzeroberfläche der Haupteinstellungen. Es befindet sich in der Benutzeroberfläche für die Einstellungen der Entwicklertools.

  1. Wählen Sie im Schraubenschlüsselsymbolmenü des Browserfensters (Einstellungsmenü) Extras → Entwicklertools

  2. Klicken Sie in der angezeigten Benutzeroberfläche der Entwicklertools auf das Zahnradsymbol unten rechts.

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


14

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


Vielleicht ist es ein Fehler oder es ist nur für Entwickler gedacht - das heißt, ich hätte gedacht, dass Nicht-Entwickler auch die Option zum Deaktivieren des Caches verwenden möchten. ¯ \ _ (ツ) _ / ¯
jamiethepiper

14

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

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

Geben Sie hier die Bildbeschreibung ein

Überprüfen Sie Automatically reload active tab after clearing data:

Geben Sie hier die Bildbeschreibung ein

Wählen Sie Everythingfür den Zeitraum:

Geben Sie hier die Bildbeschreibung ein

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

Geben Sie hier die Bildbeschreibung ein

Klicken Sie unten auf die Tastenkombinationen:

Geben Sie hier die Bildbeschreibung ein

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

Geben Sie hier die Bildbeschreibung ein


9

Wenn es Ihnen nichts ausmacht, die Bandbreite zu verwenden, ist es aus mehreren Gründen sicherer, das Caching zu deaktivieren, und dies wird von vielen Sicherheitsseiten 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.

Da dies unerwartet ist, kann es zu Abstürzen kommen. Wenn dies jedoch der Fall ist, deutet dies eindeutig auf einen schwerwiegenderen Fehler hin, der auf jeden Fall behoben werden sollte.


8

Dies könnte jemandem helfen.

Ich habe meinen Nginx für verrücktes Caching manipuliert. Daher funktioniert das Deaktivieren des Caches in Netzwerktools und das explizite Löschen des Caches nicht.

Eine sehr einfache, aber langweilige Problemumgehung ist, dass ich gerade einen neuen Incognito-Tab öffne. Überraschenderweise funktioniert es die ganze Zeit!

Eine harte Aktualisierung im Inkognito-Modus macht den Trick immer dann, wenn ich im selben Modus neu laden möchte.


6

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

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

Ich wurde gerade erwischt, aber nicht unbedingt wegen 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,
        ....

Das Setzen auf false hat mein Problem behoben, aber dies ist nicht ideal.

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


5

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

Klicken Sie mit der rechten Maustaste auf das Reload-Symbol (links neben dem 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). Hier wird kein Cache geleert!


3

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, Speicherort des Gebietsschemas, Formulardaten usw. mögen, können Sie auch festlegen, auf welcher Domain dies geschieht. So können Sie all diese Scheiße mit nur der Schaltfläche zum erneuten Laden beseitigen, die Sie ohnehin drücken müssen - auf Ihren ausgewählten Domains.

Sehr sehr nett!

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

Eine andere Möglichkeit besteht darin, das Chrome-Fenster im Inkognito-Modus zu starten. Auch hier sollte der Cache komplett deaktiviert sein.


Ich kann die Option zum Definieren der Domain nicht finden. Sieht nicht sehr gut aus. Wie wäre es mit chrome.google.com/webstore/detail/cache-killer/… ..?
Nkkollaw

Gehen Sie zum Clearcache-Symbol im Browser, klicken Sie mit der rechten Maustaste, Optionen und dann unter Cookies. Es gibt ein kleines Einstellungssymbol.
Chris

2

Eine weitere Option für den Cache zu deaktivieren wird von meinem 3. Chrome - Erweiterung zur Verfügung gestellt Page Size Inspector dass deaktiviert die Cache genau die gleiche Art und Weise wie Devtools tut.

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

Screenshot - Seitengrößeninspektor


2

Sie sind sich nicht sicher, 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")?time=@DateTime.Now" rel="stylesheet" />

Grundsätzlich werden Datum und Uhrzeit bei jeder Ausführung automatisch an das Ende der Datei angehängt. Da sich der Dateiname technisch unterscheidet, müssen Sie sich keine Sorgen mehr machen, dass die Datei erneut zwischengespeichert wird.


absolut. Ich habe diese und bedingte Kompilierung verwendet, sodass sie in Test- und Release-Builds nicht angezeigt wird.
Cee McSharpface

Noch besser ist es, die Änderungszeit für CSS-Dateien als variablen Wert zu verwenden. Diese Lösung kann auch in Produktionsumgebungen verwendet werden. Es funktioniert einfach :) Ich bin mir nicht sicher, wie es in ASP gemacht wird, aber in PHP so etwas wie <link href = "style.css? Time = <? Php echo fileminfo ('style.css');?>" Rel = "stylesheet" >
Oliver Manner

2

Ich hatte das gleiche Problem, ich habe versucht:

  • Steuerschaltung R,
  • Deaktivieren Sie den Cache in F12
  • Steuerung F5.

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


2

Wenn Sie ServiceWorkers verwenden (z. B. für progressive Webanwendungen), müssen Sie wahrscheinlich auch in den Entwicklungstools unter "Anwendung> Service Worker" die Option "Beim Neuladen aktualisieren" aktivieren.

Geben Sie hier die Bildbeschreibung ein


1

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


0

Hey, wenn Ihre Site PHP verwendet, platzieren Sie das folgende kleine PHP-Snippet am Anfang Ihrer HTML-Seite:

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

Überall, wo Sie Ressourcen wie CSS- oder JS-Dateien in ein Skript oder Linkelement laden, hängen Sie Ihren generierten Zufallswert nach dem Anhängen von '?' An die Anforderungs-URL an. an die URI über PHP:

    echo $rand;

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

Entfernen Sie natürlich Ihren Code vor dem Veröffentlichen oder setzen Sie $ rand einfach auf eine leere Zeichenfolge, um das Caching erneut zu ermöglichen.


0

Ich habe die anderen oben beschriebenen Optionen verwendet, aber ich finde, dass es am besten ist, 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 es nicht gut, den Mediencache nicht zu deaktivieren, aber der Vollständigkeit halber.

Eigentlich möchte ich eine Option, um den Cache vollständig zu deaktivieren und den Speicher für E / A anstelle meiner Festplatte zu verwenden (was die Ladezeit ebenfalls um das 10-fache verkürzen würde!), Aber ich glaube nicht, dass Chrome oder ein anderer Browser diese Option noch hat .


0

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

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

Einige Browser verfügen auch über eine Funktion Cache, die in Verbindung mit Service Workern 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 (dh my-site-cache). Aktualisieren Sie dann die Seite.

Wenn nach dem Aktualisieren Worker-bezogene Fehler in der Konsole angezeigt werden, müssen Sie möglicherweise auch die Registrierung der registrierten Worker aufheben:

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

0

Der Cache-Killer von Chrome ist bei weitem die beste Option. Da die Store-URL zur Installation von Cache Killer 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 die CRX-Datei aus dem Datei-Explorer oder Ihrem Desktop (abhängig vom Speicherort, an dem Sie die Datei heruntergeladen haben) in das Chrome-Fenster, um die Erweiterung zu installieren.


0

Ich benutze (in Windows) Strg + Umschalt + Löschen und wenn der Chrome-Dialog erscheint, drücke die Eingabetaste. Dies kann so konfiguriert werden, dass jedes Mal gelöscht wird, wenn Sie diese Sequenz ausführen. Keine Notwendigkeit, dev zu haben. Werkzeuge öffnen sich in diesem Fall.


0

Ich war in einer Situation, in der der Browser die Cache-Daten von der Festplatte lud, obwohl ich überprüft habe, dass der Cache deaktiviert ist (ich habe Chrome verwendet). Alle meine CSS und JS wurden vom Server geladen, aber nicht von der Webseite. Dies geschah sowohl in meiner Region als auch in meiner Produktion.

Um dies 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 brauchte sie nicht.

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, dass ein Link wie folgt generiert wird: http://www.myweb.com/Home/Index?ts=636558555408282209

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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.