强制缓存刷新Web资源

时间:2018-01-08 21:56:43

标签: javascript dynamics-crm microsoft-dynamics webresource

我有几个在Microsoft Dynamics中的表单上显示的Web资源。 Web资源是包含JavaScript / CSS文件的html文件。当我更新JavaScript文件时,我发现在下次使用表单时,最新的更改不会被提取到最终用户计算机。我相信这是因为以前版本的Web资源已缓存在他们的计算机上。

根据this SO问题,解决方案是在脚本标记中添加一个版本。但是,根据对该问题的评论,此解决方案不适用于Chrome,并被视为黑客攻击。我还读过here,当Web资源更新时,Dynamics应自动处理缓存,但不能可靠地处理(这是我的经验)。

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

1 个答案:

答案 0 :(得分:0)

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