关于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 FlexiGrid的asp.net完美解决方案 dotNetFlexGrid-.Net原生的异步表格控件
Sep 12 Javascript
JavaScript框架是什么?怎样才能叫做框架?
Jul 01 Javascript
全面解析Bootstrap表单使用方法(表单控件状态)
Nov 24 Javascript
图片旋转、鼠标滚轮缩放、镜像、切换图片js代码
Dec 13 Javascript
jquery对dom节点的操作【推荐】
Apr 15 Javascript
详解Vue 动态添加模板的几种方法
Apr 25 Javascript
Vue实现双向数据绑定
May 03 Javascript
Bootstrap Table中的多选框删除功能
Jul 15 Javascript
Puppet的一些技巧
Sep 17 Javascript
JQuery模拟实现网页中自定义鼠标右键菜单功能
Nov 14 jQuery
js 实现ajax发送步骤过程详解
Jul 25 Javascript
关于JavaScript 中 if包含逗号表达式
Nov 27 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基于数组函数实现关联表的编辑操作示例
2017/07/04 PHP
PC端微信扫码支付成功之后自动跳转php版代码
2017/07/07 PHP
thinkphp5修改view到根目录实例方法
2019/07/02 PHP
PHP执行系统命令函数实例讲解
2021/03/03 PHP
仿163填写邮件地址自动显示下拉(无优化)
2008/11/05 Javascript
JS URL传中文参数引发的乱码问题
2009/09/02 Javascript
Javascript 中的 call 和 apply使用介绍
2012/02/22 Javascript
js 获取计算后的样式写法及注意事项
2013/02/25 Javascript
使用PHP+JQuery+Ajax分页的实现
2013/04/23 Javascript
在js文件中如何获取basePath处理js路径问题
2013/07/10 Javascript
jquery UI Datepicker时间控件的使用及问题解决
2016/04/28 Javascript
JS功能代码集锦
2016/05/04 Javascript
js css+html实现简单的日历
2016/07/14 Javascript
浅谈javascript中的三种弹窗
2016/10/21 Javascript
jquery实现输入框实时输入触发事件代码
2016/12/21 Javascript
jQuery动态生成不规则表格(前后端)
2017/02/21 Javascript
node实现定时发送邮件的示例代码
2017/08/26 Javascript
30分钟精通React今年最劲爆的新特性——React Hooks
2019/03/11 Javascript
js+canvas实现图片格式webp/png/jpeg在线转换
2020/08/22 Javascript
[32:36]完美世界DOTA2联赛PWL S3 LBZS vs CPG 第二场 12.12
2020/12/16 DOTA
Python 用户登录验证的小例子
2013/03/06 Python
Python正则抓取网易新闻的方法示例
2017/04/21 Python
python爬虫入门教程--HTML文本的解析库BeautifulSoup(四)
2017/05/25 Python
Python线性回归实战分析
2018/02/01 Python
解决python3 pika之连接断开的问题
2018/12/18 Python
python正则表达式匹配[]中间为任意字符的实例
2018/12/25 Python
Python读取Pickle文件信息并计算与当前时间间隔的方法分析
2019/01/30 Python
Pytorch实现基于CharRNN的文本分类与生成示例
2020/01/08 Python
如何在 Django 模板中输出 &quot;{{&quot;
2020/01/24 Python
selenium+python自动化78-autoit参数化与批量上传功能的实现
2021/03/04 Python
美国在线精品家居网站:Burke Decor
2017/04/12 全球购物
医务人员自我评价
2014/01/26 职场文书
银行类自荐信
2014/02/04 职场文书
2014年五四青年节演讲比赛方案
2014/04/22 职场文书
学生操行评语大全
2014/04/24 职场文书
中秋节主题班会
2015/08/14 职场文书