首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >浏览器缓存清除角更新?

浏览器缓存清除角更新?
EN

Stack Overflow用户
提问于 2014-06-28 15:53:41
回答 1查看 1.5K关注 0票数 1

我想确保我的应用程序总是使用最近部署的文件。我在过去,在其他框架中,使用fingerprinting我的资产和js文件,都这样做过。我似乎找不到一个很好的解决方案来解决fingerprint Angular的资产和AMD文件。

在浏览器中缓存Angular应用程序时,如何清除浏览器缓存或更新该应用程序?

EN

回答 1

Stack Overflow用户

发布于 2016-09-30 10:21:28

我有类似的问题,我就是这样解决的:

  1. 在index.html文件中,我添加了清单:
  2. <head>部分中,包括脚本更新缓存:
  3. <body>部分中,我插入了onload函数:
  4. 在cache.manifest中,我已经放置了我想要缓存的所有文件。现在,它在我的例子(Apache)中很重要,只要每次更新“版本”注释就可以了。它也是一个选项,可以用"?ver=001“或名称末尾的内容来命名文件,但它并不需要。只更改#Version1.01会触发缓存更新事件。 缓存清单/#版本1.01 +(删除正斜杠) style.css imgs/logo.png /#所有其他文件(删除正斜杠)

只在index.html中包含1、2和3点是很重要的。否则

代码语言:javascript
复制
GET http://foo.bar/resource.ext net::ERR_FAILED

之所以发生,是因为每个“子”文件都试图在页已缓存时缓存该页。

  1. update_cache.js文件中,我将以下代码 函数checkForUpdate() { if (window.applicationCache !=未定义& window.applicationCache != null) {checkForUpdate,updateApplication);}函数updateApplication(事件){ if (window.applicationCache.status != 4)返回;window.applicationCache.removeEventListener('updateready‘,updateApplication);window.applicationCache.swapCache();window.location.reload();} 现在您只需更改文件,并且在清单中必须更新版本注释。现在,访问index.html页面将更新缓存。

这也适用于角度应用。它适用于我的申请。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24468508

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档