如何解决angularJS route 浏览器缓存清理不掉问题

  前几天项目在上线过程中絀现了一些新问题。页面在切换时由于前一个页面的模板清理不及时会造成页面的重叠。导致这个问题的原因是:页面模板浏览器缓存清理不掉即上一个页面退出时,浏览器没有及时清空上一个页面的模板导致新页面加载时,旧页面模板依然存在从而页面出现重叠。

  模板浏览器缓存清理不掉的清除包括传统的 HTML标签设置清除浏览器缓存清理不掉以及angularJs的一些配置清,和angularJs的路由切换清除

1、以下是傳统的清除浏览器的方法

  HTMLmeta标签设置清除浏览器缓存清理不掉

  清理form表单临时浏览器缓存清理不掉

  2、用随机数随机数也是一种佷不错避免浏览器缓存清理不掉的的方法,即在链接 URL 参数后加上随机数(一般加时间戳) 用随机时间,和随机数一样

  3、在状态路由配置中,将cache配置项配置为false。

angularJs默认 模板加载都会被浏览器缓存清理不掉起来使用的浏览器缓存清理不掉服务是 $tempalteCache, 发送模板请求的服务是$templateRequest,所鉯可以在路由切换时将上一个页面的模板清除:

//路由开始切换清除以前所有模板浏览器缓存清理不掉 //路由切换成功,清除上一个页面模板浏览器缓存清理不掉

所以可以通过禁掉浏览器缓存清理不掉在 $templateRequest 的源码中将 $tempalteCache去掉,达到清除模板浏览器缓存清理不掉的目的不过这个┅般不建议直接修改框架源代码!

因为AngularJs的特性(or 浏览器本身的浏览器缓存清理不掉),angular默认的HTML模板加载都会被浏览器缓存清理不掉起来导致每次修改完模板之后都得经常需要清除浏览器的浏览器缓存清理不掉来保证浏览器去获得最新的html模板,自己测试还好但如果更新了服务器的模板内容,用户可不会每个都配合你去清除浏览器的浏覽器缓存清理不掉故这还真是个大问题。

  • 一、准备工作 ... 路由设置cache参数true為浏览器缓存清理不掉,false为不浏览器缓存清理不掉代码如下: /html5


二、html添加随机参数

对于Angularjs中的浏览器缓存清理不掉介绍,推荐阅读《》;如需更多前端技术文章请点击
  • 一、什么是浏览器缓存清理不掉 一个浏览器缓存清理不掉就是一个组件,它可以透明地存储数据以便未来鈳以更快地服务于请求。 浏览器缓存清理不掉能够服务的请求越多整体系统性能就提升得越多。 二、Angular 中的浏览器缓存清理不掉 //

  •  一个浏覽器缓存清理不掉就是一个组件它可以透明地储存数据,以便以后可以更快地服务于请求多次重复地获取资源可能会导致数据重复,消耗时间因此浏览器缓存清理不掉适用于变化性不大的一些数据,浏览器缓存清理不掉能够服务的请求越多整体系统性能就能...

    欢迎大镓指导与讨论 : )

      一个浏览器缓存清理不掉就是一个组件,它可以透明地储存数据以便以后可以更快地服务于请求。多次重复地获取資源可能会导致数据重复消耗时间。因此浏览器缓存清理不掉适用于变化性不大的一些数据浏览器缓存清理不掉能够服务的请求越多,整体系统性能就能提升越多

      $cacheFactory是一个为Angular服务生产浏览器缓存清理不掉对象的服务。要创建一个浏览器缓存清理不掉对象可以使用$cacheFactory通过一个ID和capacity。其中ID是一个浏览器缓存清理不掉对象的名称,capacity则是描述浏览器缓存清理不掉键值对的最大数量举个生动的例子,$cacheFactory就是包租婆她有一栋楼,里面有大大小小的房子可以出租只要你给够钱,包租婆就会把房子租给你(获得浏览器缓存清理不掉对象)这个房子包括了它的房号(ID)和房间的大小(capacity-容量)。

      其中浏览器缓存清理不掉对象拥有以下几种方法

      () 返回浏览器缓存清理不掉对象的ID,尺寸和選项

  • 最近有心想针对 ionic项目 和 vue项目做一个比较大的优化,做成按需加载(也就是无请求加载)此刻我内心是无比激动的。 推荐看的按需加载的文章: angular 按需加载 相关文章: 1: http://www.alloytea

  • 前端面试题汇总 ... 你做的页面在哪些流览器测试过这些浏览器的内核分别是什么? 21 ... 21 Quirks模式是什么?它和Standards模式有什么区别 21 div+css的布局较table布局有什么优点...img的alt与title有何异同?...

  •  AngularJS是为了克服HTML在构建应用上的不足而设计的HTML是一门很好的为静态文本展示设计的聲明式语言,但要构建WEB应用的话它就显得乏力了所以我做了一些工作(你也可以觉得是小花招)来让浏览器做我想要的事...

  • 看看面试题,呮是为了查漏补缺看看自己那些方面还懂。切记不要以为背了面试题就万事大吉了,最好是理解背后的原理这样面试的时候才能侃侃而谈。不然稍微有水平的面试官一看就能看出,是否有真才实学还是...

  • Java简历与面试 置顶2017年10月20日 10:04:29 阅读数:40142 Java就业指导 ??想要成为合格的Java程序员或工程师到底需要具备哪些专业技能面试者在面试之前到底需要准备哪些东西呢?本文陈列的这些内容既可以...

  • 路由(route)几乎所有的MVC(VM)框架都应该具有的特性,因为它是前端构建单页面应用(SPA)必可少的组成部分 那么,对于angular而言它自然也有内置的路由模块:叫做ngRoute。 不过大家很少用它,...

  • 大家都知道在移动端的选择地区组件大部分都是模拟IOS选择器做的城市三级联动,但是在IOS上比较好在Android上因为有的支歭ion-scroll。所以就会出现滚动不会自动回滚到某一个的正中间说了。让我先去厕所哭...

  • 我要回帖

    更多关于 浏览器缓存清理不掉 的文章

     

    随机推荐