使用 displayInFrame:true 时 Outlook Web 加载项启动时出现错误

Outlook web add-in starts with error when use displayInFrame:true

我创建了一个自定义 Office 加载项,它可以通过 Word/excel 在线正确加载,但通过 Outlook Online(使用 Chrome、IE 和 Edge 进行测试)显示加载错误,即使单击提示按钮最终加载加载项,一切都按预期工作。

我使用 iframe 在弹出窗口中打开一个 link,其中包含不同的域。

window.OFS.context.ui.displayDialogAsync(paramUrl, { height: 80, width: 80, displayInIframe: true }, dialogCallback);

已创建新弹出窗口 window。但是 html 代码包含带有加载项错误的错误块。

  1. 收到加载项错误消息 - 出了点问题,我们无法启动此加载项。请稍后重试或联系您的系统管理员。
  2. 单击“重试”按钮
  3. 页面再次显示在任务窗格中,并带有叠加和加载动画
  4. 收到加载项错误消息 - 此加载项可能无法正确加载,但您仍然可以尝试启动它。
  5. 单击“开始”按钮
  6. 页面加载且一切正常

此问题是 outlook online 特有的,仅在我们使用 displayInIframe: true 时出现。我们使用它(在 iframe 中打开弹出窗口),因为弹出窗口会被浏览器阻止。

关于如何解决这个问题有什么建议吗?

根据 Marc 的评论,在 iframe 中打开的内容中添加对 office.js 的引用和 office.initialize 方法解决了该问题。