JavaScript 生产中的刷新 - IIS

JavaScript Refreshes in Production - IIS

我环顾四周并试图理解这一点,但我不明白。

为什么当我向生产发布新版本并更新 javascript 文件时,用户的浏览器没有获得最新版本。

当然,如果 javascript 文件由于更改而有新的日期,那么浏览器的版本应该更旧,因此它应该请求更新的版本。

相反,用户必须按 CTRL Shift R 进行强制刷新。

我错过了什么?我需要更改 IIS 中的设置吗?

我们使用 Google Chrome 作为浏览器。 Javascript 和 CSS 文件被压缩并打包。

浏览器旨在缓存 js(和 css)文件,以优化页面加载时间。它不会检查文件上修改后的日期时间。

防止这种情况最简单的方法是在js文件路径中添加一个查询字符串,然后在每次更改文件时修改它。这将强制浏览器重新加载文件。例如

<script type="text/JavaScript" src="script.js?v=1"></script>

如果它不是平面 html 文件,通常在服务器端对查询字符串进行编码是有意义的。

Chrome 缓存 javascript,img 和 css((。如果你想让你的用户收到一个新的 js,你必须重命名 js 文件,也许添加版本