【问题标题】:Force to clear cache Chrome强制清除缓存 Chrome
【发布时间】:2017-05-19 00:05:40
【问题描述】:
我的 MVC4 asp.net 应用程序中有一个包含许多功能的自定义 JS 文件。我将 JS 文件标记为 Content 并在属性中选择 Copy Always 选项。但是,如果我通过按 CTRL + F5 清除缓存,我只能查看对该文件的最新更改。我想知道当我将应用程序部署到服务器时是否有任何其他方法可以自动清除浏览器缓存。
【问题讨论】:
标签:
javascript
asp.net
asp.net-mvc-4
browser-cache
【解决方案1】:
捆绑可以通过对交付的 js 内容进行版本控制来提供帮助。阅读它here。
【解决方案2】:
服务器无法指示浏览器清除已缓存项目的缓存,因为缓存甚至阻止浏览器询问服务器。即使可以,服务器和客户端之间也可能存在其他缓存。
您可以做的一件事是通过在 URL 的末尾附加一些值来欺骗浏览器,让浏览器认为您的新 JS 文件是一个不同的文件,例如
<SCRIPT SRC="https://Domain.com/Scripts/MyScriptName.js?version=XXX">
只需在每次构建时增加 XXX,浏览器就会将 JS 文件视为新文件并忽略以前版本的任何缓存。