关于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实现动态菜单的实例代码
Nov 28 Javascript
通过隐藏iframe实现文件下载的js方法介绍
Feb 26 Javascript
jQuery切换网页皮肤并保存到Cookie示例代码
Jun 16 Javascript
jQuery根据元素值删除数组元素的方法
Jun 24 Javascript
jquery操作angularjs对象
Jun 26 Javascript
JavaScript使用RegExp进行正则匹配的方法
Jul 11 Javascript
浅谈JS原型对象和原型链
Mar 02 Javascript
深入解析Javascript闭包的功能及实现方法
Jul 10 Javascript
微信小程序简单实现form表单获取输入数据功能示例
Nov 30 Javascript
layui实现文件或图片上传记录
Aug 28 Javascript
vue.js路由mode配置之去掉url上默认的#方法
Nov 01 Javascript
Element Dialog对话框的使用示例
Jul 26 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 静态变量与自定义常量的使用方法
2010/01/26 PHP
Smarty Foreach 使用说明
2010/03/23 PHP
PHP实现的只保留字符串首尾字符功能示例【隐藏部分字符串】
2019/03/11 PHP
javascript背投广告代码的完善
2008/04/08 Javascript
JavaScript性能优化 创建文档碎片(document.createDocumentFragment)
2010/07/13 Javascript
js实时获取系统当前时间实例代码
2013/06/28 Javascript
javascript禁用Tab键脚本实例
2013/11/22 Javascript
node.js使用npm 安装插件时提示install Error: ENOENT报错的解决方法
2014/11/20 Javascript
JavaScript获取当前日期是星期几的方法
2015/04/06 Javascript
深入剖析javascript中的exec与match方法
2016/05/18 Javascript
基于JS实现导航条flash导航条
2016/06/17 Javascript
总结Javascript中数组各种去重的方法
2016/10/04 Javascript
Node.js的特点详解
2017/02/03 Javascript
jQuery插件FusionCharts实现的MSBar2D图效果示例【附demo源码】
2017/03/24 jQuery
vue.js组件之间传递数据的方法
2017/07/10 Javascript
js实现拖拽上传图片功能
2017/08/01 Javascript
Bootstrap table使用方法记录
2017/08/23 Javascript
使用async、enterproxy控制并发数量的方法详解
2018/01/02 Javascript
浅析node.js的模块加载机制
2018/05/25 Javascript
Bootstrap的aria-label和aria-labelledby属性实例详解
2018/11/02 Javascript
ant-design-vue按需加载的坑的解决
2020/05/14 Javascript
[03:18]DOTA2放量测试专访820:希望玩家加入国服大家庭
2013/08/25 DOTA
[01:15:29]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#2Secret VS EG第三局
2016/03/04 DOTA
python cx_Oracle的基础使用方法(连接和增删改查)
2017/11/19 Python
python数据抓取分析的示例代码(python + mongodb)
2017/12/25 Python
python提取log文件内容并画出图表
2019/07/08 Python
Python中sorted()排序与字母大小写的问题
2020/01/14 Python
python实现取余操作的简单实例
2020/08/16 Python
HTML5标签大全
2016/11/23 HTML / CSS
如何理解委托
2012/01/06 面试题
酒店管理自荐信
2013/10/23 职场文书
学生处主任岗位职责
2013/12/01 职场文书
电工工作职责范本
2014/02/22 职场文书
篮球赛口号
2014/06/18 职场文书
股东合作协议书
2014/09/12 职场文书
家庭贫困证明范本(经典版)
2014/09/22 职场文书