Office.js尚未满载:Outlook Angular加载项



我使用Angular在Outlook加载项上工作。我在Windows的Outlook中遇到了一个错误,即在加载索引页面后,组件未加载。使用Chrome和Firefox的Outlook Web应用不会发生这种情况。

错误消息是:

SCRIPT5022: Office.js has not been fully loaded yet. Please try again 
later or make sure to add your initialization code on the Office.initialize function.
polyfills.bundle.js (2741,25)

这是我的index.ts

import { enableProdMode } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app/app.module';
import { environment } from './environments/environment';
import * as $ from 'jquery';
declare let Office:any;
function launch() {
  const platform = platformBrowserDynamic();
  platform.bootstrapModule(AppModule)
    .then((success: any) => {
      console.log('SampleAddin: bootstrap success', success);
    })
    .catch((error: any) => {
      console.log('SampleAddin: bootstrap error', error);
    });
}
Office.initialize = reason => {
   console.log('Office intialize.....');
  $(document).ready(function () {   
    if (environment.production) {
      enableProdMode();
    }
    launch();
   });
}

回答我自己的问题:我无法在Outlook Mac和Windows中加载组件。但是将其添加到polyfills.ts:

import 'core-js/client/shim';

它也在IE 11中工作,看来这没有打破其他浏览器。

根据文档,

您必须使用office.onready()初始化一个加载项。

请参考文档

https://learn.microsoft.com/en-us/office/dev/add-ins/develop/initialize-add-in

最新更新