关于angularJs清除浏览器缓存的方法

  更新时间:2017年11月28日 11:31:27 作者:狼牙冷

  这篇文章主要介绍了关于angularJs清除浏览器缓存的方法,小绿绿觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小绿绿过来看看吧

  缓存篇

  一个缓存就是一个组件,它可以透明地储存数据,以便以后可以更快地服务于请求。多次重复地获取资源可能会导致数据重复js清除浏览器缓存,消耗时间。因此缓存适用于变化性不大的一些数据,缓存能够服务的请求越多,整体系统性能就能提升越多。

  js清除浏览器缓存 2017年11月28日11:31:27一个缓存就是一个

  浏览器缓存js清除浏览器缓存,有时候我们需要他,因为他可以提高网站性能和浏览器速度,提高网站性能。但是有时候我们又不得不清除缓存,因为缓存可能误事,出现一些错误的数据。像股票类网站实时更新等,这样的网站是不要缓存的,像有的网站很少更新,有缓存还是比较好的。

  以下是传统的清除浏览器的方法

  meta方法

  


//不缓存

  清理form的临时缓存

  js清除浏览器缓存 2017年11月28日11:31:27一个缓存就是一个

  


  ajax清除缓存

  


$.ajax({
url:'www.haorooms.com',
dataType:'json',
data:{},
cache:false,
ifModified :true ,

success:function(response){

 //操作 

}
async:false
});

  用随机数,随机数也是避免缓存的一种很不错的方法!

  URL 参数后加上 "?ran=" + Math.random(); //当然这里参数 ran可以任意取了

  js清除浏览器缓存 2017年11月28日11:31:27一个缓存就是一个

  用随机时间,和随机数一样。

  在 URL 参数后加上 "?timestamp=" + new Date().getTime();

  用php后端清理

  在服务端加 header("Cache-Control: no-cache, must-revalidate");等等(如php中)

  下面介绍关于angularJs项目中清除浏览器的方法,当然以上传统的方法也是可以适用的,但对于angularJs来说还需添加以下几项:

  js清除浏览器缓存 2017年11月28日11:31:27一个缓存就是一个

  一、清除模板缓存

  


.run(function($rootScope, $templateCache) {

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

  二、html添加随机参数

  


.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' 
} 
 } 
  }) 

  


  js清除浏览器缓存 2017年11月28日11:31:27一个缓存就是一个

  三、清除route缓存

  


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

  好了……就这么多了

  如果还有其他方法欢迎指点迷津!

  以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

TAGS:js 缓存 js清除浏览器缓存 js 清除浏览器缓存 清除浏览器缓存 js 浏览器缓存
!如链接失效请在下方留言。本站所有资源均来源于网络,版权属于原作者!仅供学习参考,本站不对您的使用负任何责任。如果有侵权之处请第一时间联系我们删除,敬请谅解!