关于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 相关文章推荐
工作中常用到的JS表单验证代码(包括例子)
Nov 11 Javascript
javascript中的作用域scope介绍
Dec 28 Javascript
JavaScript与jQuery实现的闪烁输入效果
Feb 18 Javascript
小白谈谈对JS原型链的理解
May 03 Javascript
JS导出PDF插件的方法(支持中文、图片使用路径)
Jul 12 Javascript
JS 动态加载js文件和css文件 同步/异步的两种简单方式
Sep 23 Javascript
详解用原生JavaScript实现jQuery的某些简单功能
Dec 19 Javascript
如何编写一个d.ts文件的步骤详解
Apr 13 Javascript
vue使用原生js实现滚动页面跟踪导航高亮的示例代码
Oct 25 Javascript
微信小程序实现商城倒计时
Nov 01 Javascript
ionic+html5+API实现双击返回键退出应用
Sep 17 Javascript
JavaScript仿京东轮播图效果
Feb 25 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
音乐朗读剧《MARS RED》2021年TV动画化决定!
2020/03/06 日漫
ajax php 实现写入数据库
2009/09/02 PHP
PHP使用file_get_content设置头信息的方法
2016/02/14 PHP
js模拟弹出效果代码修正版
2008/08/07 Javascript
js加载读取内容及显示与隐藏div示例
2014/02/13 Javascript
js实现文章文字大小字号功能完整实例
2014/11/01 Javascript
JavaScript检测上传文件大小的方法
2015/07/22 Javascript
基于Jquery代码实现手风琴菜单
2015/11/19 Javascript
基于原生js淡入淡出函数封装(兼容IE)
2016/10/20 Javascript
vuejs2.0实现分页组件使用$emit进行事件监听数据传递的方法
2017/02/22 Javascript
angular过滤器实现排序功能
2017/06/27 Javascript
vuex实现登录状态的存储,未登录状态不允许浏览的方法
2018/03/09 Javascript
vue滚动插件better-scroll使用详解
2019/10/18 Javascript
Vue路由管理器Vue-router的使用方法详解
2020/02/05 Javascript
BootStrap前端框架使用方法详解
2020/02/26 Javascript
如何基于filter实现网站整体变灰功能
2020/04/17 Javascript
浅谈vue项目,访问路径#号的问题
2020/08/14 Javascript
uniapp实现可以左右滑动导航栏
2020/10/21 Javascript
把MySQL表结构映射为Python中的对象的教程
2015/04/07 Python
浅谈对yield的初步理解
2017/05/29 Python
小白如何入门Python? 制作一个网站为例
2018/03/06 Python
pygame游戏之旅 添加游戏暂停功能
2018/11/21 Python
python 求一个列表中所有元素的乘积实例
2019/06/11 Python
python3的url编码和解码,自定义gbk、utf-8的例子
2019/08/22 Python
Python安装及Pycharm安装使用教程图解
2019/09/20 Python
pygame实现俄罗斯方块游戏(基础篇1)
2019/10/29 Python
python实时监控logstash日志代码
2020/04/27 Python
python rolling regression. 使用 Python 实现滚动回归操作
2020/06/08 Python
Css3+Js制作漂亮时钟(附源码)
2013/04/24 HTML / CSS
Sofmap官网:日本著名的数码电器专卖店
2017/05/19 全球购物
韩语专业本科生求职信
2013/10/01 职场文书
建筑设计师岗位职责
2013/11/18 职场文书
中学生评语大全
2014/04/18 职场文书
千与千寻观后感
2015/06/04 职场文书
JS代码编译器Monaco使用方法
2021/06/11 Javascript
Mysql数据库group by原理详解
2022/07/07 MySQL