关于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 相关文章推荐
验证用户是否修改过页面的数据的实现方法
Sep 26 Javascript
网页和浏览器兼容性问题汇总(draft1)
Jun 01 Javascript
在JavaScript中如何解决用execCommand(
Oct 19 Javascript
在js中实现邮箱格式的验证方法(推荐)
Oct 24 Javascript
JS生成一维码(条形码)功能示例
Jan 19 Javascript
JavaScript方法_动力节点Java学院整理
Jun 28 Javascript
jQuery实现可编辑表格并生成json结果(实例代码)
Jul 19 jQuery
weex里Vuex state使用storage持久化详解
Sep 09 Javascript
基于Vue开发数字输入框组件
Dec 19 Javascript
Vue中render方法的使用详解
Jan 26 Javascript
js笔试题-接收get请求参数
Jun 15 Javascript
JavaScript中时间格式化新思路toLocaleString()
Nov 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 和 COM
2006/10/09 PHP
php array_filter除去数组中的空字符元素
2020/06/21 PHP
PHP中使用循环实现的金字塔图形
2014/11/08 PHP
php关联数组快速排序的方法
2015/04/17 PHP
php 广告点击统计代码(php+mysql)
2018/02/21 PHP
CentOS7.0下安装PHP5.6.30服务的教程详解
2018/09/29 PHP
php的无刷新操作实现方法分析
2020/02/28 PHP
javascript 异常处理使用总结
2009/06/21 Javascript
javascript之querySelector和querySelectorAll使用说明
2011/10/09 Javascript
jQuery使用一个按钮控制图片的伸缩实现思路
2013/04/19 Javascript
Javascript中使用A标签获取当前目录的绝对路径方法
2015/03/02 Javascript
DOM事件阶段以及事件捕获与事件冒泡先后执行顺序(图文详解)
2015/08/18 Javascript
js提交form表单,并传递参数的实现方法
2016/05/25 Javascript
Yarn的安装与使用详细介绍
2016/10/25 Javascript
jquery删除数组中重复元素
2016/12/05 Javascript
详解用Webpack与Babel配置ES6开发环境
2019/03/12 Javascript
微信小程序 下拉刷新及上拉加载原理解析
2019/11/06 Javascript
JavaScript forEach中return失效问题解决方案
2020/06/01 Javascript
javascript实现随机抽奖功能
2020/12/30 Javascript
[00:58]PWL开团时刻DAY5——十人开雾0换5
2020/11/04 DOTA
Python3.4实现远程控制电脑开关机
2018/02/22 Python
django3.02模板中的超链接配置实例代码
2020/02/04 Python
Python3实现飞机大战游戏
2020/04/24 Python
HTML5+css3:3D旋转木马效果相册
2017/01/03 HTML / CSS
Steiff台湾官网:德国金耳釦泰迪熊
2019/12/26 全球购物
路由表示做什么用的?在linux环境中怎么来配置一条默认路由?
2013/06/07 面试题
专科毕业生学习生活的自我评价
2013/10/26 职场文书
婚礼证婚人证婚词
2014/01/13 职场文书
计算机个人求职信范例
2014/01/24 职场文书
学雷锋树新风演讲稿
2014/05/10 职场文书
地震捐款倡议书
2014/08/29 职场文书
银行给客户的感谢信
2015/01/23 职场文书
公司庆典欢迎词
2015/01/26 职场文书
公司欠款证明
2015/06/24 职场文书
求职信:会计求职的写作技巧
2019/04/24 职场文书
centos7安装mysql5.7经验记录
2022/05/02 Servers