javascript - 如何在用户每次访问网站时加载最新的javascript文件

标签 javascript jquery asp.net-mvc-3

Possible Duplicate:
How do I force the refresh of javascript files in a browser?

我的基于 ASP.NET MVC 的应用程序和 javascript 文件包含在 .csHtml 文件中。

我需要这样做,以便用户不必执行 [Ctrl+F5] 或手动清除缓存,并且每次在浏览器中都会加载最新版本的 javascript 文件。

如果可以提供一些示例,我将不胜感激。

建议的主要技术是在包含文件时使用虚拟参数。 另外,我不需要每次修改 js 文件时手动更改参数。如果可以自动完成,需要一些示例。

编辑1: 请以 ASP.NET MVC 的视角提供解决方案。

最佳答案

在 JS 文件的文件名中添加版本号(就像 jQuery 那样)。然后,每当您修改 JS 文件时,您都会更改版本并更改包含它的 HTML 文件。

jQuery 文件命名示例:

jquery-1.8.3.js
jquery-1.9.0.js

这使您可以在服务器上为 JS 文件本身设置很长的缓存,这确实有助于提高网站的性能。但是,每当您修改 JS 文件时,查看器都会立即获取新的 JS 文件,因为新命名的文件是由新的 HTML 文件拉取的,因为它们不在浏览器缓存中。

关于javascript - 如何在用户每次访问网站时加载最新的javascript文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14544277/

相关文章:

javascript - 向 Backbone 模型的各个属性添加值

asp.net-mvc-3 - ASP.NET MVC3,启用 Razor

asp.net-mvc-3 - ASP.NET MVC3 - Html.TextBoxFor 和 autofocus 属性

javascript - 部分 View 无法正常工作

javascript - 如何用javascript对 Angular 线移动 Sprite ?

javascript - 默认添加复选框值

javascript - ExtJS ComboBox - 选择“所有项目”时在字段中显示 "Any"

javascript - 随机化图像淡入

javascript - 将 jQuery 事件处理程序绑定(bind)到 `focus` 会使 select 在 IE 中表现得很奇怪

javascript - 我需要在应用过滤器之前隐藏所有 filterContainer 数据