Maison  >  Article  >  interface Web  >  Comment vider le cache du navigateur dans AngularJs

Comment vider le cache du navigateur dans AngularJs

小云云
小云云original
2017-12-07 15:52:322227parcourir

Un cache est un composant qui stocke les données de manière transparente afin que les futures demandes puissent être traitées plus rapidement. L'obtention répétée de ressources peut entraîner une duplication des données et prendre du temps. Par conséquent, la mise en cache convient à certaines données peu variables. Plus le cache peut traiter de requêtes, plus les performances globales du système peuvent être améliorées. Dans cet article, nous partageons avec vous comment vider le cache du navigateur dans angulaireJs.

Cache du navigateur, nous en avons parfois besoin, car il peut améliorer les performances du site Web et la vitesse du navigateur, ainsi que les performances du site Web. Mais parfois, nous devons vider le cache, car le cache peut causer des problèmes et des données erronées peuvent apparaître. Par exemple, les sites Web boursiers sont mis à jour en temps réel. Ces sites Web n'ont pas besoin d'être mis en cache. Certains sites Web sont rarement mis à jour, il est donc préférable d'avoir un cache.

Ce qui suit est la méthode traditionnelle pour effacer le navigateur

méthode méta


//不缓存 
<META HTTP-EQUIV="pragma" CONTENT="no-cache">  
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">  
<META HTTP-EQUIV="expires" CONTENT="0">


Vider le cache temporaire du formulaire


<body onLoad="javascript:document.yourFormName.reset()">


ajax vider le cache


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


Utilisez des nombres aléatoires, les nombres aléatoires sont également un bon moyen pour éviter la méthode de mise en cache !

Ajouter "?ran=" + Math.random(); //Bien sûr, le paramètre exécuté ici peut être choisi arbitrairement

Utiliser un temps aléatoire, identique à un nombre aléatoire. .

Ajoutez "?timestamp=" + new Date().getTime(); après le paramètre URL

Utilisez le backend php pour nettoyer

Ajouter un en-tête ("Cache-Control : no-cache, must-revalidate") sur le serveur, etc. (comme en php)

Ce qui suit concerne la suppression du navigateur dans la méthode de projet angulaireJs, bien sûr, les méthodes traditionnelles ci-dessus sont également applicables, mais pour angulaireJs, les éléments suivants doivent être ajoutés :

1. Vider le cache du modèle


.run(function($rootScope, $templateCache) {  
      $rootScope.$on(&#39;$routeChangeStart&#39;, function(event, next, current) {  
        if (typeof(current) !== &#39;undefined&#39;){  
          $templateCache.remove(current.templateUrl);  
        }  
      });  
    });


2. Ajouter des paramètres aléatoires au HTML


.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. Vider le cache d'itinéraire


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


Recommandations associées :

Comment vider le cache du navigateur

php pour vider le cache Partager plusieurs méthodes

ThinkPHP implémente la méthode de suppression du cache en un clic_PHP tutoriel

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn