Heim > Web-Frontend > js-Tutorial > Hauptteil

So leeren Sie den Browser-Cache in AngularJs

小云云
Freigeben: 2017-12-07 15:52:32
Original
2220 Leute haben es durchsucht

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">
Nach dem Login kopieren


Löschen Sie den temporären Cache des Formulars


<body onLoad="javascript:document.yourFormName.reset()">
Nach dem Login kopieren


Ajax Cache leeren


$.ajax({ 
   url:&#39;www.haorooms.com&#39;, 
   dataType:&#39;json&#39;, 
   data:{}, 
   cache:false,  
   ifModified :true , 
 
   success:function(response){ 
     //操作 
   } 
   async:false 
 });
Nach dem Login kopieren


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(&#39;$routeChangeStart&#39;, function(event, next, current) {  
        if (typeof(current) !== &#39;undefined&#39;){  
          $templateCache.remove(current.templateUrl);  
        }  
      });  
    });
Nach dem Login kopieren


2. Fügen Sie zufällige Parameter zu HTML hinzu


.state("content", { 
        url: "/", 
        views:{ 
          "bodyInfo":{templateUrl: &#39;tpls/bodyInfo.html?&#39;+ +new Date(), 
            controller:&#39;bodyInfoCtrl&#39;}, 
          "header":{templateUrl: &#39;tpls/header.html?&#39;+ +new Date(), 
            controller:&#39;headerCtrl&#39; 
          }, 
          "footer":{templateUrl: &#39;tpls/footer.html?&#39;+ +new Date(), 
            controller:&#39;footerCtrl&#39; 
          } 
        } 
      })
Nach dem Login kopieren



<link rel="stylesheet" href="stylesheets/main.css?version=1.0.3" rel="external nofollow" >
Nach dem Login kopieren


3. Routen-Cache löschen


.config([&#39;$stateProvider&#39;, &#39;$urlRouterProvider&#39;,&#39;$locationProvider&#39;,&#39;$httpProvider&#39;,function($stateProvider, $urlRouterProvider,$locationProvider,$httpProvider) { 
//     $urlRouterProvider.when("", "/home"); 
      $urlRouterProvider.otherwise(&#39;/&#39;); 
       if (!$httpProvider.defaults.headers.get) { 
       $httpProvider.defaults.headers.get = {}; 
      } 
      $httpProvider.defaults.headers.common["X-Requested-With"] = &#39;XMLHttpRequest&#39;; 
      $httpProvider.defaults.headers.get[&#39;Cache-Control&#39;] = &#39;no-cache&#39;; 
      $httpProvider.defaults.headers.get[&#39;Pragma&#39;] = &#39;no-cache&#39;;
Nach dem Login kopieren


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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage