关于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获取图片真实大小代码实例
Sep 24 Javascript
jQuery实现锚点scoll效果实例分析
Mar 10 Javascript
JS实现图片高亮展示效果实例
Nov 24 Javascript
给before和after伪元素设置js效果的方法
Dec 04 Javascript
AngularJS自定义指令实现面包屑功能完整实例
May 17 Javascript
微信小程序按钮去除边框线分享页面功能
Aug 27 Javascript
JavaScript中十种一步拷贝数组的方法实例详解
Apr 22 Javascript
轻松学习JavaScript函数中的 Rest 参数
May 30 Javascript
package.json配置文件构成详解
Aug 27 Javascript
JavaScript实现拖拽功能
Feb 11 Javascript
Javascript地址引用代码实例解析
Feb 25 Javascript
javascript实现前端分页效果
Jun 24 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防止伪造的数据从URL提交方法
2014/06/27 PHP
php封装的smarty类完整实例
2016/10/19 PHP
php获取目录中所有文件名及判断文件与目录的简单方法
2017/03/04 PHP
PHP下 Mongodb 连接远程数据库的实例代码
2017/08/30 PHP
Yii2框架自定义验证规则操作示例
2019/02/08 PHP
jquery 简单应用示例总结
2013/08/09 Javascript
js 数值转换为3位逗号分隔的示例代码
2014/02/19 Javascript
jQuery验证插件 Validate详解
2014/11/20 Javascript
nodejs 提示‘xxx’ 不是内部或外部命令解决方法
2014/11/20 NodeJs
JavaScript中Cookies的相关使用教程
2015/06/04 Javascript
js实现的简洁网页滑动tab菜单效果代码
2015/08/24 Javascript
jQuery EasyUI基础教程之EasyUI常用组件(推荐)
2016/07/15 Javascript
Bootstrap缩略图的创建方法
2017/03/22 Javascript
nodejs入门教程五:连接数据库的方法分析
2017/04/24 NodeJs
简单谈谈vue的过渡动画(推荐)
2017/10/11 Javascript
javaScript中的空值和假值
2017/12/18 Javascript
vue2.0结合Element-ui实战案例
2019/03/06 Javascript
javascript实现电商放大镜效果
2020/11/23 Javascript
[01:14:35]DOTA2上海特级锦标赛B组资格赛#1 Alliance VS Fnatic第一局
2016/02/26 DOTA
常用python数据类型转换函数总结
2014/03/11 Python
Python中模块string.py详解
2017/03/12 Python
在python中,使用scatter绘制散点图的实例
2019/07/03 Python
详解Django模版中加载静态文件配置方法
2019/07/21 Python
使用Windows批处理和WMI设置Python的环境变量方法
2019/08/14 Python
Python reduce函数作用及实例解析
2020/05/08 Python
Python 实现将某一列设置为str类型
2020/07/14 Python
Python Pandas list列表数据列拆分成多行的方法实现
2020/12/14 Python
美国帽子俱乐部商店:Hat Club
2019/07/05 全球购物
Tessabit日本:集世界奢侈品和设计师品牌的意大利精品买手店
2020/01/07 全球购物
PHP笔试题
2012/02/22 面试题
写出一个方法实现冒泡排序
2016/07/08 面试题
new修饰符是起什么作用
2015/06/28 面试题
元旦晚会邀请函
2014/02/01 职场文书
公司会计主管岗位责任制
2014/03/01 职场文书
Node.js实现爬取网站图片的示例代码
2022/04/04 NodeJs
Python OpenCV实现图形检测示例详解
2022/04/08 Python