当我们的代码在OWA之外执行时,Office.onReady()认为它正在Excel中运行

时间:2018-12-18 15:31:56

标签: office-js office-addins

我们最近更新了OWA加载项,以使用新的Office.onReady()承诺来确保OfficeJ已准备就绪。 这也解决了IE11在试图通过缓慢的网络连接加载OfficeJs库时不会冻结的问题。

这是这样的:

if (Office !== undefined) {
  Office.onReady().then((info: { host: Office.HostType, platform: Office.PlatformType }) => {
    console.log(`starting add-in for environment: ${environment.OWA_URL} on host: ${info.host}, platform: ${info.platform}`);
    bootStrapAngular();
  });
} else {
  this.utilService.logMessage(LogLevel.DEBUG, 'Bootstrapping Angular, without OfficeJS');
  // FIXME lazy load an OfficeJS mock??
  bootStrapAngular();
}

我们发现-尽管我们应该在本地模拟Office-OfficeJs似乎认为它正在Excel(不是),PC(不是)上运行:

在OWA内,打开右窗格:

starting ... on host: Outlook, platform: OfficeOnline

在OWA之外,https://localhost:port

starting ... on host: Excel, platform: PC

我们可以通过要求主机为Outlook和平台为OfficeOnline来解决此问题,但这对我来说似乎是个错误。

1 个答案:

答案 0 :(得分:1)

是一个已知问题,团队正在努力解决。