关于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 提升运行速度之循环篇 译文
Aug 15 Javascript
js中方法重载如何实现?以及函数的参数问题
Aug 01 Javascript
js获取系统的根路径实现介绍
Sep 08 Javascript
Javascript 中创建自定义对象的方法汇总
Dec 04 Javascript
javascript设计模式之对象工厂函数与构造函数详解
Jul 30 Javascript
jquery模拟实现鼠标指针停止运动事件
Jan 12 Javascript
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
Dec 14 Javascript
判断横屏竖屏(三种)
Feb 13 Javascript
在 Vue 项目中引入 tinymce 富文本编辑器的完整代码
May 04 Javascript
如何使用puppet替换文件中的string
Dec 06 Javascript
通过JQuery,JQueryUI和Jsplumb实现拖拽模块
Jun 18 jQuery
vue route新窗口跳转页面并且携带与接收参数
Apr 10 Vue.js
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中突破基于HTTP_REFERER的防盗链措施(stream_context_create)
2011/03/29 PHP
PHP 只允许指定IP访问(允许*号通配符过滤IP)
2014/07/08 PHP
PHP简单实现HTTP和HTTPS跨域共享session解决办法
2015/05/27 PHP
PHP中4种常用的抓取网络数据方法
2015/06/04 PHP
php实现统计目录文件大小的函数
2015/12/25 PHP
表单(FORM)的一些实用效果代码
2007/03/25 Javascript
js实现图片轮换效果代码
2013/04/16 Javascript
js获取页面传来参数的方法
2014/09/06 Javascript
使用JavaScript实现连续滚动字幕效果的方法
2015/07/07 Javascript
使用do...while的方法输入一个月中所有的周日(实例代码)
2016/07/22 Javascript
前端程序员必须知道的高性能Javascript知识
2016/08/24 Javascript
提高JavaScript执行效率的23个实用技巧
2017/03/01 Javascript
详解vue2.0的Element UI的表格table列时间戳格式化
2017/06/13 Javascript
ubuntu编译nodejs所需的软件并安装
2017/09/12 NodeJs
vue项目中axios使用详解
2018/02/07 Javascript
apicloud拉起小程序并传递参数的方法示例
2018/11/21 Javascript
说说Vue.js中的functional函数化组件的使用
2019/02/12 Javascript
Vue实现导航栏点击当前标签变色功能
2020/08/19 Javascript
教你30秒发布一个TypeScript包到NPM的方法步骤
2019/07/22 Javascript
在Python中使用NLTK库实现对词干的提取的教程
2015/04/08 Python
在Python 3中实现类型检查器的简单方法
2015/07/03 Python
Python实现简单过滤文本段的方法
2017/05/24 Python
Python实现PS图像调整之对比度调整功能示例
2018/01/26 Python
python 字典中取值的两种方法小结
2018/08/02 Python
Django使用中间键实现csrf认证详解
2019/07/22 Python
python实现车牌识别的示例代码
2019/08/05 Python
Python基于gevent实现文件字符串查找器
2020/08/11 Python
Pycharm plot独立窗口显示的操作
2020/12/11 Python
韩国江南富人区高端时尚百货商场:Galleria(格乐丽雅)
2018/03/27 全球购物
严选全球尖货,立足香港:Bonpont宝盆
2018/07/24 全球购物
中国电子产品批发商/跨境电商/外贸网:Sunsky-online
2020/04/20 全球购物
总经理助理的八要求
2013/11/12 职场文书
2015年营销工作总结范文
2015/04/23 职场文书
2015年依法行政工作总结
2015/04/29 职场文书
Nginx配置SSL证书出错解决方案
2021/03/31 Servers
MySQL基础(二)
2021/04/05 MySQL