页面部分更新时强制缓存静态资源

Force cache static resources while page partially updating

我知道浏览器是如何缓存资源的。我得到的这种情况与往常不同。

我在 asp.net mvc 框架中编写了这个单页应用程序。在第一次加载时,每个静态资源如 jscssimages 都被正确缓存。此应用程序将在导航时将新的 html 附加到主页中,还有一些 js 文件。

当我在 chrome 网络选项卡中检查时,我发现问题是,对于第一次加载后出现的每个文件,浏览器每次都会在文件名后附加一个数字(看起来像一种版本控制技术) 并且这会阻止它进行缓存,从而使应用程序变得太慢。我没有任何想法或设置可以在 mvc

中禁用它

我还发现这很奇怪,第一次加载后出现的 js 文件被分类在 chrome 网络选项卡

中的 xhr 请求下

如何强制缓存这些文件?

问题出在 jquery 版本上。 Jquery 是罪魁祸首,他使用 appendhtml 等 API 将此唯一编号添加到注入到 DOM 的每个 js 文件中。更新 jquery 解决了这个问题

How do I stop jquery appending a unique id to scripts called via ajax?