使用 Office.onReady() 中断 Outlook 2013 加载项

Using Office.onReady() Breaks Outlook 2013 add-ins

我们正在构建一个 Outlook 加载项,最近一位客户报告说它无法在 Outlook 2013 中加载。我已经能够在我们的加载项的许多不同版本中本地确认这一点。它在 Mac.

的 Outlook 2016、Outlook Web 和 Outlook 中加载并正常工作

我们最近从 Office.initialize 更改为 Office.onReady 以简化平台检测。这不适用于 Outlook 2013。从表面上看,问题似乎是 HostType 返回为 Excel,并且许多 API 在 Office.context 下(例如诊断、漫游设置、邮箱)未定义。

如果我使用 Office.initialize 设置入口点,那么一切正常。如果使用 Office.onReady 设置,加载项将加载,只要所有 Office api 调用都有护栏。这让我得到 一些 上下文,因为我可以访问我们的内部日志系统。

这是一个已知问题吗?我们的加载项现在在 Outlook 2013 中完全损坏。

更新: 我以前认为这是 onReady 和 initialize 的问题,但后来我发现 initialize 实际上仍然有效。只有 onReady 在 Outlook 2013 中似乎已损坏

这已经 identified as a bug 在 Office-JS API 中,并且即将修复。

同时要解决此问题,您可以继续使用 Office.initialize。您可以使用 Office.context.diagnostics

获取 onReady 的信息参数提供的上下文