关于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 相关文章推荐
『JavaScript』限制Input只能输入数字实现思路及代码
Apr 22 Javascript
jQuery动画效果animate和scrollTop结合使用实例
Apr 02 Javascript
解决node-webkit 不支持html5播放mp4视频的方法
Mar 11 Javascript
js仿3366小游戏选字游戏
Apr 14 Javascript
JS与HTML结合使用marquee标签实现无缝滚动效果代码
Jul 05 Javascript
jQuery checkbox选中问题之prop与attr注意点分析
Nov 15 Javascript
JS扩展类,克隆对象与混合类实例分析
Nov 26 Javascript
JS获取短信验证码倒计时的实现代码
May 22 Javascript
javascript实现非常简单的小数取整功能示例
Jun 13 Javascript
vue watch关于对象内的属性监听
Apr 22 Javascript
Nuxt.js实现一个SSR的前端博客的示例代码
Sep 06 Javascript
Webpack的Loader和Plugin的区别
Nov 09 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
phpmyadmin安装时提示:Warning: require_once(./libraries/common.inc.php)错误解决办法
2011/08/18 PHP
分享php分页的功能模块
2015/06/16 PHP
PHP获取当前执行php文件名的代码
2017/03/02 PHP
PHP curl 或 file_get_contents 获取需要授权页面的方法
2017/05/05 PHP
利用javascript移动div层-javascript 拖动层
2009/03/22 Javascript
Jquery ThickBox插件使用心得(不建议使用)
2010/09/08 Javascript
jQuery获取(选中)单选,复选框,下拉框中的值
2014/02/21 Javascript
jQuery选择器querySelector的使用指南
2015/01/23 Javascript
JavaScript实现cookie的写入、读取、删除功能
2015/11/05 Javascript
基于jquery实现即时检查格式是否正确的表单
2016/05/06 Javascript
详解vue.js 开发环境搭建最简单攻略
2017/06/12 Javascript
Vue.js实例方法之生命周期详解
2017/07/03 Javascript
vue2.0 keep-alive最佳实践
2017/07/06 Javascript
Grunt针对静态文件的压缩,版本控制打包的实例讲解
2017/09/29 Javascript
jquery自定义显示消息数量
2017/12/19 jQuery
js保留两位小数方法总结
2018/01/31 Javascript
vue.js实现图书管理功能
2019/09/24 Javascript
mpvue实现微信小程序快递单号查询代码
2020/04/03 Javascript
Python读写unicode文件的方法
2015/07/10 Python
Python 中 Meta Classes详解
2016/02/13 Python
浅析使用Python搭建http服务器
2019/10/27 Python
pycharm实现在子类中添加一个父类没有的属性
2020/03/12 Python
Python实现多线程下载脚本的示例代码
2020/04/03 Python
Django中FilePathField字段的用法
2020/05/21 Python
tensorflow之读取jpg图像长和宽实例
2020/06/18 Python
一文带你了解Python 四种常见基础爬虫方法介绍
2020/12/04 Python
Python plt 利用subplot 实现在一张画布同时画多张图
2021/02/26 Python
英国在线潜水商店:Simply Scuba
2019/03/25 全球购物
爱护公共设施的标语
2014/06/24 职场文书
关于感恩的演讲稿800字
2014/08/26 职场文书
大学生作弊检讨书
2014/09/11 职场文书
群众路线专项整治工作情况报告
2014/10/28 职场文书
2015年公民道德宣传日活动总结
2015/03/23 职场文书
2016年党课培训学习心得体会
2016/01/07 职场文书
团队拓展训练心得体会
2016/01/12 职场文书
python 实现定时任务的四种方式
2021/04/01 Python