Heim >Web-Frontend >js-Tutorial >So leeren Sie den Browser-Cache in AngularJs

So leeren Sie den Browser-Cache in AngularJs

小云云
小云云Original
2017-12-07 15:52:322270Durchsuche

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:&#39;www.haorooms.com&#39;, 
   dataType:&#39;json&#39;, 
   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(&#39;$routeChangeStart&#39;, function(event, next, current) {  
        if (typeof(current) !== &#39;undefined&#39;){  
          $templateCache.remove(current.templateUrl);  
        }  
      });  
    });


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; 
          } 
        } 
      })



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


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;;


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!

Stellungnahme:
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