asp.net mvc3 razor,javascript

asp.net mvc3 razor,javascript,javascript,asp.net-mvc-3,Javascript,Asp.net Mvc 3,我已经用asp.net mvc3 razor创建了我的网页。当我释放了客户 使用修改后的.js文件。在重新加载或刷新页面之前,客户端无法获取修改的更改。但我想找到一个解决方案,即不需要客户端每次刷新页面以进行更新的更改。但我不想改变谷歌浏览器的设置(我们的网页使用谷歌浏览器) 我希望更改仅在代码中。有人能给我建议解决方案吗。在javascript文件中,在其末尾添加一个查询字符串。这将强制浏览器重新加载javascript文件: <script type="text/javascript"

我已经用asp.net mvc3 razor创建了我的网页。当我释放了客户 使用修改后的.js文件。在重新加载或刷新页面之前,客户端无法获取修改的更改。但我想找到一个解决方案,即不需要客户端每次刷新页面以进行更新的更改。但我不想改变谷歌浏览器的设置(我们的网页使用谷歌浏览器)


我希望更改仅在代码中。有人能给我建议解决方案吗。

在javascript文件中,在其末尾添加一个查询字符串。这将强制浏览器重新加载javascript文件:

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

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

你应该去看看,它是一个NuGet软件包。这将组合您的javascript文件,缩小它们,并作为浏览器的单个文件。该单个文件的名称中有一个唯一的哈希,它围绕浏览器缓存(问题的根源)工作

您所要做的就是使用NuGet安装包,然后在App_数据中的combres.xml文件中列出您的JavaScript文件。它为你处理其他一切


作为奖励,它也适用于CSS,合并和缩小文件将使您的站点加载速度更快。

您不能这样做。页面加载时,JavaScript文件等资源只加载一次。