So leeren Sie den Cache in JavaScript: 1. Leeren Sie den Website-Cache über die Meta-Methode. 2. Verwenden Sie Ajax, um die neueste Datei vom Server anzufordern, und fügen Sie die Anforderungsheader „If-Modified-Since“ und „Cache-“ hinzu. Control“; 3. Verwenden Sie „cache:false“ direkt usw.
Die Betriebsumgebung dieses Artikels: Windows 7-System, JavaScript-Version 1.8.5, DELL G3-Computer.
Mehrere Möglichkeiten, den Cache von JS zu leeren
1 Warum haben CSS und JS Parameter (in der Form .css?t= und .js?t=)? Wie bekomme ich den Code
css und js? nimm Parameter (gebildet wie .css?t= und .js?t=)
Es gibt zwei Möglichkeiten, Parameter zu verwenden:
Erstens existiert das Skript nicht, sondern wird dynamisch vom Server generiert, also eine Versionsnummer ist enthalten, um den Unterschied zu verdeutlichen. Das heißt, der obige Code entspricht der Datei, der Browser geht jedoch davon aus, dass es sich um eine bestimmte Version der Datei handelt!
Zweitens speichert der Client diese CSS- oder JS-Dateien zwischen, sodass der Client-Browser jedes Mal, wenn die JS- oder CSS-Datei aktualisiert und die Versionsnummer geändert wird, die neue JS- oder CSS-Datei erneut herunterlädt Flush-Caching.
Die zweite Situation kommt am häufigsten vor, es kann aber auch beides gleichzeitig vorliegen.
Die Versionsnummer kann eine Zufallszahl oder ein steigender Wert in Form einer großen Version und einer kleinen Version sein oder entsprechend der Generierungszeit des Skripts geschrieben werden. Sie ist beispielsweise sekundengenau, wenn die Das Skript wird generiert, und 2.3.3 ist die große Version und die kleine Version.
2. Über den Browser-Cache: Manchmal brauchen wir ihn, weil er die Website-Leistung und die Browser-Geschwindigkeit verbessern und die Website-Leistung verbessern kann. Aber manchmal müssen wir den Cache leeren, da der Cache Probleme verursachen und einige fehlerhafte Daten erscheinen können. Beispielsweise müssen Bestandswebsites nicht zwischengespeichert werden. Einige Websites werden selten aktualisiert, daher ist es besser, einen Cache zu haben. Heute stellen wir hauptsächlich verschiedene Methoden zum Löschen des Caches vor. 🔜 , und fügen Sie die Anforderung hinzu. Die Header If-Modified-Since und Cache-Control lauten wie folgt:
<META HTTP-EQUIV="pragma" CONTENT="no-cache"> <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate"> <META HTTP-EQUIV="expires" CONTENT="0">
Methode 2, Cache direkt verwenden: false,
$.ajax({ url:'www.haorooms.com', dataType:'json', data:{}, beforeSend :function(xmlHttp){ xmlHttp.setRequestHeader("If-Modified-Since","0"); xmlHttp.setRequestHeader("Cache-Control","no-cache"); }, success:function(response){ //操作 } async:false });
Methode 3: Zufallszahlen verwenden sind ebenfalls eine sehr gute Möglichkeit um Caching zu vermeiden! Fügen Sie „?ran=" + Math.random(); //Natürlich kann der hier ausgeführte Parameter beliebig gewählt werden
z. B.:
$.ajax({ url:'www.haorooms.com', dataType:'json', data:{}, cache:false, ifModified :true , success:function(response){ //操作 } async:false });
Andere sind ähnlich, fügen Sie einfach +Math nach der Adresse hinzu Hinweis: Da Math.random() nur unter Javascript funktionieren kann, kann es nur über Javascript aufgerufen werden.
Methode 4: Verwenden Sie Zufallszeit, genau wie Zufallszahlen.
Fügen Sie „?timestamp=" + new Date().getTime(); hinzu.
Verwenden Sie das PHP-Backend zum Bereinigen.
Fügen Sie den Header („Cache-Control: kein Cache, muss auf der Serverseite erneut überprüft werden) nach dem hinzu URL-Parameter "); usw. (z. B. in PHP)
Methode 5:
5. window.location.replace("WebForm1.aspx");
Der Parameter ist die Seite, die Sie abdecken möchten. Das Prinzip von Ersetzen dient zum Ersetzen durch die aktuelle Seite. Entfernen Sie die durch den Ersetzungsparameter angegebene Seite.
Dadurch wird verhindert, dass Benutzer auf die Schaltfläche „Zurück“ klicken. Es wird das Javascript-Skript verwendet, zum Beispiel:
a.html
Das Folgende ist ein Zitatfragment:
<script> document.write("<s"+"cript type='text/javascript' src='/js/test.js?"+Math.random()+"'></scr"+"ipt>"); </script>
b.html
Das Folgende ist ein Zitatfragment:
<html> <head> <title>a</title> <script language="javascript"> function jump(){ window.location.replace("b.html"); } </script> </head> <body> <a href="javascript:jump()">b</a> </body> </html>
Das obige ist der detaillierte Inhalt vonSo leeren Sie den Cache in Javascript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!