【发布时间】:2014-06-26 07:22:37
【问题描述】:
我遇到的问题是部分文件(*.html)被浏览器缓存。虽然开发它不是一个大问题,但是一旦我部署了应用程序,客户端会看到旧页面,直到他们清除缓存或点击 ctrl F5 我已经尝试指定元标记(CACHE-CONTROL,EXPIRES),但仍然看到这些页面被拾取 来自chrome开发者工具中的缓存(也许我在这里遗漏了什么?)。
我打算尝试在 url 前面添加一些随机数,例如
<div ng-include src="'views/test.html?i=1000'"></div>
但是遇到了https://groups.google.com/forum/#!topic/angular/9gORRowzP2M,James Cook 正确地指出,这种方式会一遍又一遍地填充缓存。
我在某处读到最好在服务器的标头中设置元标记,但我不知道该怎么做?我正在考虑以某种方式在 http 拦截器中执行此操作?也许以某种方式在此 httpinterceptor 的请求或响应中添加元标记? https://gist.github.com/gnomeontherun/5678505
任何想法如何做到这一点?或者如果这是好/坏主意?或者有什么其他方法可以防止部分页面被浏览器缓存?
【问题讨论】:
-
向我们介绍一下您的后端。
-
不完全确定您所说的后端是什么意思以及它与浏览器缓存的关系?但是“后端”在 mongoDB 上,前端是 Asp.net Mvc 和 AngularJS 的混合体
-
如果您的其他标头相当正常,则使用过去过期的标头应该可以解决问题。
-
我试过用 -1 和 0 过期,但似乎没有用
标签: javascript html angularjs caching