2017-11-14 6 views
0

Bei der Entwicklung einer Website mit HTML/CSS ist es während der Entwicklungsphase sinnvoll, das Caching zu verhindern, da andere Benutzer alte Versionen sehen würden. Ive gesehen Threads auf diese vor Meta-Tags verwenden, dh:Cache der Clients löschen, wenn Änderungen vorgenommen werden

<meta http-equiv="cache-control" content="no-cache" /> 
<meta http-equiv="Pragma" content="no-cache" /> 
<meta http-equiv="Expires" content="-1" />enter code here 

Doch diese scheinen dosent mit HTML5 zu arbeiten, und ich möchte in ähnlicher Weise nur Clients löschen Cache zu leeren, sobald Ive ein Update gemacht.

Zum Beispiel, wenn ich ein Bild in index.html habe und aktualisieren Sie diese Bild (gleiche Dateinamen unterschiedliche Inhalte), dann würden Kunden das vorherige Bild sehen

Gibt es eine Möglichkeit, ich Version HTML-Seiten so, dass die Browser-Clients würde Cache Version 1 und dann neu laden Wenn ich den HTML zu Version 2 ändere, würde der Cache geleert und die neue Webseite mit allen Änderungen würde geladen werden?

scheint dies müsste der Fall in den meisten Web-Entwicklungen sein, sonst würden Kunden nie Änderungen sehen

+0

Um dies zu klären, ob ich http://www.mysite.co.uk Ich lade die Cache-Version mit der alten Version in index.php bekommen. Wenn ich http://www.mysite.co.uk?q=1 laden bekomme ich die aktualisierte Version, wie ich es erwarte (offensichtlich, weil es eine neue URL ist, so dass Cache dafür nicht gespeichert wird) –

Antwort

0

Sie haben die Möglichkeit, die <link> Datei in der Index-Seite zu bearbeiten (oder wo auch immer Sie in der Datei laden. Nach die CSS- müssen Sie wie eine Abfrage eingeben v = ...

So wie folgt aus:?

alte Datei: <link href="/css/TestFile.css" rel="stylesheet">

nach dem Bearbeiten des Cache zu aktualisieren: <link href="/css/TestFile.css?v=1" rel="stylesheet"> v Für die Version steht ein beliebiges Zeichen zur Verfügung.

Dies setzt den Cache für jeden Besuch der Website und sie die neue Version anstelle der alten Version

+0

Danke für diesen Vorschlag, das würde funktionieren mit dem CSS, aber was ist mit Bildern eingebettet in der HTML mit einem Tag dh Ressourcen-Caching? –

+0

Wenn ich richtig bin, können Sie das gleiche verwenden. Mik3NL

+0

Es sieht so aus, als ob die gesamte index.html Seite zwischengespeichert wird. In reqular browsing zeigt es aber in Inkognito zeigt es

0

In meinem Fall, ich ändere Datei eine Menge einer bestimmte JS und ich brauche es machen sehen in seinem letzten zu sein Version in allen Browsern, in denen verwendet wird.

Ich habe keine bestimmte Versionsnummer für diese Datei, so dass ich Hash einfach das aktuelle Datum und die Uhrzeit (Stunde und Minute) und geben sie als die Versionsnummer:

<script src="/js/panel/app.js?v={{ substr(md5(date("Y-m-d_Hi")),10,18) }}"></script> 

ich es sein müssen geladen jede Minute, aber Sie können entscheiden, wann es neu geladen werden sollte.

+0

Ähnlich wie mein Kommentar zu der Antwort unten, diese Methode gilt für Dateien, die durch die index.php/index.html Datei verbunden sind, aber was ist mit der Indexdatei selbst. –

+0

Fügen Sie Folgendes in Ihrem Kopf Inhalt - @ andy-West ' ' –

0

die folgende in Ihrem Kopf Inhalt hinzufügen -

<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" /> 
<meta http-equiv="Pragma" content="no-cache" /> 
<meta http-equiv="Expires" content="0" /> 
+0

Das ist nicht der Fall. Die Seite index.php wird zwischengespeichert. In meinem ursprünglichen Beitrag habe ich erwähnt, dass ich schon eine ähnliche Lösung versucht habe? –

Verwandte Themen