关于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 相关文章推荐
jQuery1.6 使用方法二
Nov 23 Javascript
javascript学习(一)构建自己的JS库
Jan 02 Javascript
js原型继承的两种方法对比介绍
Mar 30 Javascript
JavaScript window.location对象
Nov 14 Javascript
浅析Node.js中的内存泄漏问题
Jun 23 Javascript
原生js实现移动端瀑布流式代码示例
Dec 18 Javascript
jQuery继承extend用法详解
Oct 10 Javascript
js实现贪吃蛇小游戏(容易理解)
Jan 22 Javascript
jQuery实现可兼容IE6的淡入淡出效果告警提示功能示例
Sep 20 jQuery
微信小程序学习笔记之目录结构、基本配置图文详解
Mar 28 Javascript
Vue3.0结合bootstrap创建多页面应用
May 28 Javascript
javascript实现异形滚动轮播
Nov 28 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 xfocus防注入资料
2008/04/27 PHP
php通过smtp邮件验证登陆的方法
2016/05/11 PHP
自制PHP框架之模型与数据库
2017/05/07 PHP
理解Javascript_13_执行模型详解
2010/10/20 Javascript
兼容IE和Firefox的javascript获取iframe文档内容的函数
2011/08/15 Javascript
Javascript 中的 call 和 apply使用介绍
2012/02/22 Javascript
给页面渲染时间加速 干掉Dom Level 0 Event
2012/12/19 Javascript
浅析基于WEB前端页面的页面内容搜索的实现思路
2014/06/10 Javascript
js中的事件捕捉模型与冒泡模型实例分析
2015/01/10 Javascript
JS组件系列之Bootstrap table表格组件神器【二、父子表和行列调序】
2016/05/10 Javascript
Js 获取、判断浏览器版本信息的简单方法
2016/08/08 Javascript
原生javascript实现文件异步上传的实例讲解
2017/10/26 Javascript
vue中使用sessionStorage记住密码功能
2018/07/24 Javascript
vue iview多张图片大图预览、缩放翻转
2019/07/13 Javascript
SSM+layUI 根据登录信息显示不同的页面方法
2019/09/20 Javascript
vue 实现用户登录方式的切换功能
2020/04/14 Javascript
JavaScript实现HTML导航栏下拉菜单
2020/11/25 Javascript
Vue实现手机号、验证码登录(60s禁用倒计时)
2020/12/19 Vue.js
Python 返回汉字的汉语拼音
2009/02/27 Python
python读文件逐行处理的示例代码分享
2013/12/27 Python
Python中实现结构相似的函数调用方法
2015/03/10 Python
Python中处理字符串之endswith()方法的使用简介
2015/05/18 Python
Python每天必学之bytes字节
2016/01/28 Python
django rest framework 数据的查找、过滤、排序的示例
2018/06/25 Python
对Python Pexpect 模块的使用说明详解
2019/02/14 Python
python-itchat 统计微信群、好友数量,及原始消息数据的实例
2019/02/21 Python
pytorch使用Variable实现线性回归
2019/05/21 Python
Python的条件锁与事件共享详解
2019/09/12 Python
Python while循环使用else语句代码实例
2020/02/07 Python
如何教少儿学习Python编程
2020/07/10 Python
CSS3 边框效果
2019/11/04 HTML / CSS
印度网上购物首选目的地:Flipkart
2016/08/01 全球购物
公司委托书范本5篇
2014/09/20 职场文书
体检通知范文
2015/04/21 职场文书
创业计划书之网吧
2019/10/10 职场文书
springboot 启动如何排除某些bean的注入
2021/08/02 Java/Android