asp.net mvc3剃刀,javascript

问题描述:

我用asp.net mvc3 razor创建了我的网页。当我用修改过的.js文件发布给客户端 时。在重新加载或刷新页面之前,客户端无法获取修改的更改。但我想找到解决方案,不应要求客户端每次刷新页面以更新更新。但我不想改变谷歌浏览器的设置(我们正在使用谷歌浏览器为我们的网页)。asp.net mvc3剃刀,javascript

我希望仅在代码中进行更改。任何人都可以向我提出解决方案。

+1

你不能那样做。当页面加载时,JavaScript文件等资源会加载一次。 – 2012-01-11 11:08:13

你应该检查出Combres,它是作为NuGet包提供的。这将结合您的JavaScript文件,将它们缩小并作为单个文件提供给浏览器。该单个文件在浏览器缓存(您的问题的根源)的名称中有一个唯一的哈希。

您只需使用NuGet安装软件包,然后在App_Data的combres.xml文件中列出您的JavaScript文件。它为你处理一切。

作为一个奖励,它也适用于CSS和组合和缩小您的文件将使您的网站更快加载。

在你的javascript文件中,在它的末尾放置一个查询字符串。这将迫使浏览器重新加载javascript文件:

<script type="text/javascript" src="/path/to/script.js?version=2"></script> 

每次重新部署js文件的变化,增量版本= 3,版本= 4,依此类推。 Chrome浏览器(以及其他任何浏览器)会认为该文件已更改,并在不使用缓存中以前版本的情况下重新加载该文件。