关于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 相关文章推荐
表单内同名元素的控制
Nov 22 Javascript
javascript在一段文字中的光标处插入其他文字
Aug 26 Javascript
jquery中load方法的用法及注意事项说明
Feb 22 Javascript
JavaScript代码实现左右上下自动晃动自动移动
Apr 08 Javascript
js中遍历Map对象的简单实例
Aug 08 Javascript
基于jQuery选择器之表单对象属性筛选选择器的实例
Sep 19 jQuery
对vue中v-on绑定自定事件的实例讲解
Sep 06 Javascript
微信小程序实现时间预约功能
Nov 27 Javascript
详解wepy开发小程序踩过的坑(小结)
May 22 Javascript
深入学习TypeScript 、React、 Redux和Ant-Design的最佳实践
Jun 17 Javascript
简单了解vue中的v-if和v-show的区别
Oct 08 Javascript
Vue.js暴露方法给WebView的使用操作
Sep 07 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中explode与split的区别介绍
2012/10/03 PHP
php获取指定范围内最接近数的方法
2015/06/02 PHP
CodeIgniter扩展核心类实例详解
2016/01/20 PHP
PHP面向对象类型约束用法分析
2019/06/12 PHP
Javascript 八进制转义字符(8进制)
2011/04/08 Javascript
jquery网页元素拖拽插件效果及实现
2013/08/05 Javascript
原生js的弹出层且其内的窗口居中
2014/05/14 Javascript
Bootstrap 填充Json数据的实例代码
2017/01/11 Javascript
vue2实现移动端上传、预览、压缩图片解决拍照旋转问题
2017/04/13 Javascript
layui文件上传实现代码
2017/05/20 Javascript
Node.js使用orm2进行update操作时关联字段无法修改的解决方法
2017/06/13 Javascript
JavaScript实现瀑布流图片效果
2017/06/30 Javascript
利用Vue实现移动端图片轮播组件的方法实例
2017/08/23 Javascript
基于js文件加载优化(详解)
2018/01/03 Javascript
js 索引下标之li集合绑定点击事件
2018/01/12 Javascript
基于jquery的on和click的区别详解
2018/01/15 jQuery
vue2.0 兄弟组件(平级)通讯的实现代码
2018/01/15 Javascript
使用javascript函数编写简单银行取钱存钱流程
2018/05/26 Javascript
可能被忽略的一些JavaScript数组方法细节
2019/02/28 Javascript
vue移动端实现手机左右滑动入场动画
2020/06/17 Javascript
Python字符串中查找子串小技巧
2015/04/10 Python
Python使用logging结合decorator模式实现优化日志输出的方法
2016/04/16 Python
Python实现的多项式拟合功能示例【基于matplotlib】
2018/05/15 Python
python pandas库中DataFrame对行和列的操作实例讲解
2018/06/09 Python
Python面向对象之类的内置attr属性示例
2018/12/14 Python
Python通过TensorFlow卷积神经网络实现猫狗识别
2019/03/14 Python
pyenv与virtualenv安装实现python多版本多项目管理
2019/08/17 Python
python 装饰器功能与用法案例详解
2020/03/06 Python
Clos19英国:高档香槟、葡萄酒和烈酒在线购物平台
2020/07/10 全球购物
自荐书封面下载
2013/11/29 职场文书
药剂专业自荐书
2014/06/20 职场文书
党员示范岗材料
2014/12/19 职场文书
校本课程教学计划
2015/01/19 职场文书
2016初一新生军训心得体会
2016/01/11 职场文书
Windows10下安装MySQL8
2021/04/06 MySQL
提取视频中的音频 Python只需要三行代码!
2021/05/10 Python