Heim >Web-Frontend >js-Tutorial >So leeren Sie den Browser-Cache in AngularJs
Ein Cache ist eine Komponente, die Daten transparent speichert, damit zukünftige Anfragen schneller bearbeitet werden können. Das wiederholte Abrufen von Ressourcen kann zu Datenduplizierungen führen und Zeit in Anspruch nehmen. Daher ist Caching für einige Daten mit geringer Variabilität geeignet. Je mehr Anfragen der Cache bedienen kann, desto mehr kann die Gesamtsystemleistung verbessert werden. In diesem Artikel teilen wir Ihnen mit, wie Sie den Browser-Cache in AngularJs leeren.
Browser-Cache, manchmal brauchen wir ihn, weil er die Website-Leistung und die Browsergeschwindigkeit 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.
Das Folgende ist die traditionelle Methode zum Löschen des Browsers
Meta-Methode
//不缓存 <META HTTP-EQUIV="pragma" CONTENT="no-cache"> <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate"> <META HTTP-EQUIV="expires" CONTENT="0">
Löschen Sie den temporären Cache des Formulars
<body onLoad="javascript:document.yourFormName.reset()">
Ajax Cache leeren
$.ajax({ url:'www.haorooms.com', dataType:'json', data:{}, cache:false, ifModified :true , success:function(response){ //操作 } async:false });
Verwenden Sie Zufallszahlen, auch Zufallszahlen sind eine gute Möglichkeit Caching-Methode vermeiden!
Fügen Sie „?ran=" + Math.random(); //Natürlich kann der hier ausgeführte Parameter beliebig gewählt werden
Verwenden Sie eine zufällige Zeit, genau wie die Zufallszahl Sample .
Fügen Sie „?timestamp=" + new Date().getTime(); nach dem URL-Parameter hinzu
Verwenden Sie PHP-Backend zum Bereinigen
Header („Cache-Control: no-cache, must-revalidate“) auf dem Server usw. hinzufügen (z. B. in PHP)
Im Folgenden geht es um das Löschen des Browsers Bei der AngularJs-Projektmethode sind natürlich auch die oben genannten herkömmlichen Methoden anwendbar, aber für AngularJs müssen die folgenden Elemente hinzugefügt werden:
1. Leeren Sie den Vorlagencache
.run(function($rootScope, $templateCache) { $rootScope.$on('$routeChangeStart', function(event, next, current) { if (typeof(current) !== 'undefined'){ $templateCache.remove(current.templateUrl); } }); });
2. Fügen Sie zufällige Parameter zu HTML hinzu
.state("content", { url: "/", views:{ "bodyInfo":{templateUrl: 'tpls/bodyInfo.html?'+ +new Date(), controller:'bodyInfoCtrl'}, "header":{templateUrl: 'tpls/header.html?'+ +new Date(), controller:'headerCtrl' }, "footer":{templateUrl: 'tpls/footer.html?'+ +new Date(), controller:'footerCtrl' } } })
<link rel="stylesheet" href="stylesheets/main.css?version=1.0.3" rel="external nofollow" >
3. Routen-Cache löschen
.config(['$stateProvider', '$urlRouterProvider','$locationProvider','$httpProvider',function($stateProvider, $urlRouterProvider,$locationProvider,$httpProvider) { // $urlRouterProvider.when("", "/home"); $urlRouterProvider.otherwise('/'); if (!$httpProvider.defaults.headers.get) { $httpProvider.defaults.headers.get = {}; } $httpProvider.defaults.headers.common["X-Requested-With"] = 'XMLHttpRequest'; $httpProvider.defaults.headers.get['Cache-Control'] = 'no-cache'; $httpProvider.defaults.headers.get['Pragma'] = 'no-cache';
Verwandte Empfehlungen:
So leeren Sie den Browser-Cache
PHP zum Leeren des Caches Mehrere Methoden zum Teilen
ThinkPHP implementiert die Ein-Klick-Cache-Löschmethode_PHP-Tutorial
Das obige ist der detaillierte Inhalt vonSo leeren Sie den Browser-Cache in AngularJs. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!