【问题标题】:Force Cache Refresh for Web Resources强制刷新 Web 资源的缓存
【发布时间】:2018-01-08 21:56:43
【问题描述】:

我有几个 Web 资源显示在 Microsoft Dynamics 的表单上。 Web 资源是包含 JavaScript/CSS 文件的 html 文件。当我更新 JavaScript 文件时,我看到最新的更改在他们下次使用表单时并没有被拉到最终用户计算机上。我相信这是因为以前版本的网络资源已经缓存在他们的机器上。

根据this SO question,解决方案是在脚本标签中添加一个版本。但是,根据有关问题的 cmets,此解决方案不适用于 Chrome,并被视为 hack。我还阅读了here,说 Dynamics 应该在 Web 资源更新时自动处理缓存,但这样做并不可靠(这是我的经验)。

当我推出更新时,如何强制最终用户计算机在下次使用表单时获取我的代码的最新版本?

【问题讨论】:

标签: javascript dynamics-crm microsoft-dynamics webresource


【解决方案1】:

如果您只是为了开发而更改文件(即,一旦完成就不会更改),那么大多数浏览器都会允许您禁用缓存。在 Chrome 中,只要打开开发人员工具并单击网络选项卡中的“禁用缓存”按钮,就可以完成此操作。 如果他们要为每个请求更改客户端,那么您可以生成一个随机 ID 以与文件一起发送(例如 example.com/script.js?182hdh2)。为此,只需将一些 js 放入您的 html 文件(而不是外部脚本)中即可导入所有其他文件。

【讨论】:

  • 不幸的是,我们会经常用新版本更新文件。我们仍然希望在更新之间尽可能多地利用缓存。
猜你喜欢
  • 2012-02-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-17
  • 2017-09-08
  • 1970-01-01
相关资源
最近更新 更多