【问题标题】:Outlook add-in cacheOutlook 加载项缓存
【发布时间】:2026-01-21 15:55:02
【问题描述】:

我正在开发一个 Outlook 插件,它在 OWA 中运行良好,但我在使用 Outlook 桌面客户端时遇到了问题,特别是它缓存了所有文件(js、css 以及 html)。您会认为重新启动我的 Outlook 客户端(或重新启动计算机)会清除缓存,但不是。旧版本被保留。 These instructions 也没有成功。

按照this topic 的指示,我终于能够清除缓存并查看我的新版本。

但是,我留下了 Outlook 桌面客户端如何缓存加载项文件的问题。使谜团更加复杂的是,我的一些同事遇到了同样的问题,而有些同事在我部署新版本时确实看到了新版本,尽管他们的 Outlook 客户端一直保持打开状态。

那么,刷新 Outlook 缓存的具体机制是什么? Outlook 客户端中是否有一些设置可以确定这一点?当然,清除 Outlook 加载项缓存的方法肯定比使用那些 Edge DevTools 更简单。

【问题讨论】:

  • 这个问题发生在 Mac 还是 Windows 的哪个平台上?
  • @OutlookAdd-insTeam-MSFT Windows。

标签: caching outlook-addin outlook-web-addins


【解决方案1】:

缓存机制由底层浏览器决定,而不是 Outlook 桌面客户端。新的 Microsoft Edge(基于 Chromium)浏览器缓解了您遇到的问题。 This documentation 有一个 Outlook + Windows 配置矩阵,支持新的基于 Chromium 的 Edge 浏览器作为运行 Outlook/Office 插件的底层浏览器。对于任务窗格加载项,您只需右键单击窗格并选择刷新即可刷新加载项。对于 On-Send 或 Ui-Less 加载项,您可能仍需要通过创建任务窗格来帮助清除缓存的解决方法。

【讨论】:

  • 嗯,我似乎无法在任务窗格中右键单击(我的意思是在弹出的垂直区域中,为了清楚起见)。我正在运行带有 Outlook 版本 2012(内部版本 13530.20376 即点即用)的 Windows 1909。由于 Edge DevTools 中的始终刷新切换,我的缓存问题似乎已解决。虽然这是个好消息,但当我们想要发布新功能时,我仍然想知道如何为最终用户解决这个问题。我认为通过 Edge DevTools 指导他们每个人是不可行的。还有其他方法吗?
  • 对于最终用户,随着他们各自的缓存过期,他们都会逐渐获得您的更改。您还可以为您的加载项禁用浏览器缓存或控制由您的网络服务器提供的文件的缓存过期。我相信这个元标记可以帮助禁用浏览器缓存您的 html 页面,例如:<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />