一尘不染

如何强制客户端刷新JavaScript文件?

javascript

我们目前正处于非公开Beta测试阶段,因此仍在进行相当快速的更改,尽管显然随着使用量的增加,我们将放慢这个过程。话虽这么说,我们遇到的一个问题是,在我们推出新JavaScript文件的更新后,客户端浏览器仍然使用文件的缓存版本,而他们看不到更新。显然,在技术支持电话上,我们可以简单地通知他们进行ctrl``F5刷新以确保他们从服务器获取最新文件,但是最好在此之前进行处理。

我们当前的想法是将版本号简单地附加到JavaScript文件的名称上,然后在进行更改时增加脚本上的版本并更新所有引用。这肯定可以完成工作,但是更新每个发行版上的引用可能会很麻烦。

因为我确定我们不是第一个处理此问题的人,所以我认为我会将它扔给社区。更新代码时,如何确保客户端更新其缓存?如果您使用上述方法,是否正在使用简化更改的过程?


阅读 722

收藏
2020-04-25

共1个答案

一尘不染

据我所知,一个常见的解决方案是?<version>在脚本的src链接中添加一个。

例如:

<script type="text/javascript" src="myfile.js?1500"></script>

在这一点上,我认为在所有脚本标签中没有比找到替换增加这些“版本号”更好的方法了吗?

您可能有一个版本控制系统为您执行此操作?例如,大多数版本控制系统都有一种在签入时自动注入修订号的方法。

它看起来像这样:

<script type="text/javascript" src="myfile.js?$$REVISION$$"></script>

当然,总会有像这样的更好的解决方案。

2020-04-25