Мы недавно обновили нашу надстройку 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
, но мне это кажется ошибкой.