服务器上修改的JavaScript文件在浏览器中未重新加载

8

我有一个使用ASP.Net 2.0的网站,其中包含在JS文件中的函数。当网页加载时,js文件加载正常。但是当我在服务器上更改该文件中的内容时,更改不会传播到用户的浏览器中。它仍然按照过时的文件运行。我该如何强制浏览器从服务器重新加载修改后的文件?

2个回答

15

一种相当常见的解决方案(我认为在这里也是这样做的)是向JavaScript文件的URL添加查询字符串,其中包含版本号。当更改查询字符串时,浏览器将将其视为新文件并下载它,而不是从缓存中选取它。

<script type="text/javascript" src="http://example.com/file.js?v=2"></script> 
在上面的例子中,将file.js?v=2更改为file.js?v=3将会强制浏览器下载文件,而不是加载已缓存的file.js?v=2

注意:如果您打开Chrome检查器,即使通过Ctrl+F5,它也可能导致使用缓存的js文件。您可以从检查器的“Network”选项卡中使用“禁用缓存”,以在DevTools / Inspector打开时强制加载新副本。 - S.Serpooshan

10

通常,强制更新的最快方法是在浏览器中按下CTRL+F5

否则,您需要清空浏览器缓存。

如果您使用 Firefox 浏览器,我建议您安装插件Web Developer Toolbar,您可以轻松地点击“Misc -> 清除私人数据 -> 缓存”来清空缓存。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接