我们有一个内部.NET Web应用程序,它有很少的嵌入式JavaScript文件。 每当我们发布新版本的应用程序时,我们都会遇到用户浏览器有旧版本js文件的问题,我们不得不让他们在浏览器上按Ctrl + F5来获取最新版本。
不幸的是,这很烦人。我们考虑在js调用中嵌入一个随机数,这样浏览器就会看到一个更改的URL并自动获取新的js -
有没有人实现过这样的自动化而无需进入并为每个更改过的js手动执行此操作?
PS:不希望通过附加<%DateTime.Now.Ticks%>每次刷新一次。或者类似的策略,只是希望自动为每个版本附加版本。
答案 0 :(得分:1)
有很多方法可以强制刷新,但实际上常用的是版本控制。
在这种方法中,您的javascript文件名具有版本号后缀。只要文件发生变化,版本就会发生变化,所有引用也会发生变化。
例如
ourapp.core.1.1.js
然后
ourapp.core.1.2.js
这也有助于在不同的应用程序之间重用相同的javascript文件。
答案 1 :(得分:0)
以下是我想到的一种方法:
<script type="text/javascript" src="somejsfile.js?<%MyHelperClass.GetVersion()%>
其中GetVersion()从local.config返回最新版本。
在local.config中,有一个这样的键:
<add key="Version" value="1.2"/>
这种方法的一个缺点是您需要记住在每个版本中更改local.config中的版本。或者更好的是,让您的构建脚本每次都询问您的版本,然后将其嵌入local.config。