生产环境中的 JavaScript 刷新 - IIS

标签 javascript css google-chrome iis bundling-and-minification

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

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

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

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

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

我们使用谷歌浏览器作为浏览器。 Javascript 和 CSS 文件被压缩和捆绑。

最佳答案

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

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

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

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

关于生产环境中的 JavaScript 刷新 - IIS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35551173/

相关文章:

JavaScript 表 onclick

javascript - 元素上的外部单击句柄事件

javascript - onerror 事件到 html 标签对象

php - 以两种不同的 div 样式显示数据库中一张表的图像

javascript - 有没有办法在 JS 变量上设置断点?

javascript - 如何将内联 JS 编码转换为外部样式表?

html - 容器中精确拟合独立背景

javascript - Jquery 没有从提到的 div 加载数据

javascript - chrome 扩展 onInstalled 事件

javascript - Sencha Touch 日期代码在 Chrome 中运行良好,但在 Safari 中失败