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


Posted in Javascript onNovember 28, 2017

缓存篇

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

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

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

meta方法

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

清理form的临时缓存

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

ajax清除缓存

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

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

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

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

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

用php后端清理

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

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

一、清除模板缓存

.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' 
          } 
        } 
      })
<link rel="stylesheet" href="stylesheets/main.css?version=1.0.3" rel="external nofollow" >

三、清除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';

好了……就这么多了

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

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

Javascript 相关文章推荐
jquery更换文章内容与改变字体大小代码
Sep 30 Javascript
JavaScript tab选项卡插件实例代码
Feb 23 Javascript
jQuery加载及解析XML文件的方法实例分析
Jan 22 Javascript
对称加密与非对称加密优缺点详解
Feb 06 Javascript
vue学习笔记之指令v-text &amp;&amp; v-html &amp;&amp; v-bind详解
May 12 Javascript
详解使用Typescript开发node.js项目(简单的环境配置)
Oct 09 Javascript
深入剖析Express cookie-parser中间件实现示例
Feb 01 Javascript
vue axios请求超时的正确处理方法
Apr 02 Javascript
element跨分页操作选择详解
Jun 29 Javascript
JavaScript实现沿五角星形线摆动的小圆实例详解
Jul 28 Javascript
原生jQuery实现只显示年份下拉框
Dec 24 jQuery
uniapp开发打包多端应用完整方法指南
Dec 24 Javascript
AngularJs 禁止模板缓存的方法
Nov 28 #Javascript
微信小程序自定义toast实现方法详解【附demo源码下载】
Nov 28 #Javascript
vue2.0与bootstrap3实现列表分页效果
Nov 28 #Javascript
Vue.JS项目中5个经典Vuex插件
Nov 28 #Javascript
Vue实现web分页组件详解
Nov 28 #Javascript
基于vue2实现左滑删除功能
Nov 28 #Javascript
JavaScript生成简单等差数列
Nov 28 #Javascript
You might like
两千行代码的PHP学习笔记汇总
2014/10/05 PHP
wamp服务器访问php非常缓慢的解决过程
2015/07/01 PHP
详解PHP中instanceof关键字及instanceof关键字有什么作用
2015/11/05 PHP
深入解析PHP的Laravel框架中的event事件操作
2016/03/21 PHP
详谈PHP中的密码安全性Password Hashing
2017/02/04 PHP
php设计模式之享元模式分析【星际争霸游戏案例】
2020/03/23 PHP
Firebug入门指南(Firefox浏览器)
2010/08/21 Javascript
JavaScript游戏之是男人就下100层代码打包
2010/11/08 Javascript
jQuery 翻牌或百叶窗效果(内容三秒自动切换)
2012/06/14 Javascript
jQuery中add()方法用法实例
2015/01/08 Javascript
jquery简单的弹出层浮动层代码
2015/04/27 Javascript
jQuery实现的简单折叠菜单(折叠面板)效果代码
2015/09/16 Javascript
BootStrap智能表单demo示例详解
2016/06/13 Javascript
举例讲解jQuery对DOM元素的向上遍历、向下遍历和水平遍历
2016/07/07 Javascript
JavaScript中从setTimeout与setInterval到AJAX异步
2017/02/13 Javascript
jQuery插件FusionCharts实现的Marimekko图效果示例【附demo源码】
2017/03/24 jQuery
js中数组对象去重的两种方法
2019/01/18 Javascript
vue如何搭建多页面多系统应用
2020/06/17 Javascript
vue项目实现设置根据路由高亮对应的菜单项操作
2020/08/06 Javascript
跟老齐学Python之集成开发环境(IDE)
2014/09/12 Python
Python使用xlrd读取Excel格式文件的方法
2015/03/10 Python
Python学习笔记整理3之输入输出、python eval函数
2015/12/14 Python
对python3 sort sorted 函数的应用详解
2019/06/27 Python
Python hmac模块使用实例解析
2019/12/24 Python
AUC计算方法与Python实现代码
2020/02/28 Python
如何快速一次性卸载所有python包(第三方库)呢
2020/10/20 Python
使用纯 CSS 创作一个脉动 loader效果的源码
2018/09/28 HTML / CSS
美国知名艺术画网站:Art.com
2017/02/09 全球购物
波兰在线运动商店:YesSport
2020/07/23 全球购物
意大利包包和行李箱销售网站:Bagaglio.it
2021/03/02 全球购物
电信专业毕业生推荐信
2013/11/18 职场文书
小学教师岗位职责
2013/11/25 职场文书
人事科岗位职责范本
2014/03/02 职场文书
关于颐和园的导游词
2015/01/30 职场文书
中学教师个人总结
2015/02/10 职场文书
爱国主义教育基地观后感
2015/06/18 职场文书