Carregar o DOM e o ambiente de runtime

Antes de executar sua própria lógica personalizada, um suplemento deve garantir que o DOM e o ambiente de tempo de execução dos Suplementos do Office sejam carregados.

Inicialização de um suplemento de conteúdo ou de painel de tarefas

A figura a seguir mostra o fluxo de eventos envolvidos na inicialização de um suplemento de conteúdo ou de painel de tarefas no Excel, no PowerPoint, no Project ou no Word.

Fluxo de eventos ao iniciar um suplemento de conteúdo ou painel de tarefas.

Os eventos a seguir ocorrem quando um suplemento de conteúdo ou painel de tarefas é iniciado.

  1. O usuário abre um documento que já contém um suplemento ou insere um suplemento no documento.

  2. O aplicativo cliente do Office lê o manifesto do suplemento no Microsoft Marketplace, um catálogo de aplicativos no SharePoint ou o catálogo de pastas compartilhadas do qual ele se origina.

  3. O aplicativo cliente do Office abre a página HTML do suplemento em um controle de modo de exibição da Web.

    As próximas duas etapas, as etapas 4 e 5, ocorrem de forma assíncrona e em paralelo. Por esse motivo, o código do suplemento deve garantir que o DOM e o ambiente do tempo de execução do suplemento tenham terminado de carregar antes de prosseguir.

  4. O controle webview carrega o corpo do DOM e do HTML e chama o manipulador de eventos para o window.onload evento.

  5. O aplicativo cliente do Office carrega o ambiente de tempo de execução, que baixa e armazena em cache os arquivos de biblioteca da API JavaScript do Office do servidor da CDN (rede de distribuição de conteúdo) e, em seguida, chama o manipulador de eventos do suplemento para o evento initialize do objeto do Office , se um manipulador tiver sido atribuído a ele. Nesse momento, ele também verifica se algum retorno de chamada (ou método encadeado then() ) foi passado (ou encadeado) para o Office.onReady manipulador. Para obter mais informações sobre a distinção entre Office.initialize e Office.onReady, consulte Inicializar seu suplemento.

    Importante

    Se os arquivos da biblioteca da API JavaScript do Office forem bloqueados por filtros de rede, firewalls ou extensões de navegador, Office.onReady nunca será resolvido.

  6. Quando o corpo de HTML e DOM terminar de carregar e o suplemento finalizar a inicialização, a função principal do suplemento poderá prosseguir.

Observação

Para obter orientação sobre como integrar Office.js inicialização com estruturas JavaScript modernas, consulte Conectar Office.js a qualquer estrutura JavaScript.

Inicialização de um suplemento do Outlook

A figura a seguir mostra o fluxo de eventos envolvidos na inicialização de um suplemento do Outlook em execução no desktop, tablet ou smartphone.

Fluxo de eventos ao iniciar o suplemento do Outlook.

Os eventos a seguir ocorrem quando um suplemento do Outlook é iniciado.

  1. Quando o Outlook inicia, ele lê os manifestos dos suplementos do Outlook que foram instalados para a conta de email do usuário.

  2. O usuário seleciona um item no Outlook.

  3. Se o item selecionado satisfizer as condições de ativação de um suplemento do Outlook, o Outlook ativará o suplemento e tornará seu botão visíveis na interface de usuário.

  4. Se o usuário clicar no botão para iniciar o suplemento do Outlook, o Outlook abrirá a página HTML em um controle de modo de exibição da Web. As próximas duas etapas, as etapas 5 e 6, ocorrerem em paralelo.

  5. O controle webview carrega o corpo do DOM e do HTML e chama o manipulador de eventos para o onload evento.

  6. O Outlook carrega o ambiente de tempo de execução, que baixa e armazena em cache a API do JavaScript para arquivos da biblioteca a partir do servidor da rede de distribuição de conteúdo (CDN) e chama manipulador de eventos para o evento initialize do objeto do suplemento do Office. Nesse momento, ele também verifica se algum retorno de chamada (ou métodos encadeados then() ) foi passado (ou encadeado) para o Office.onReady manipulador. Para obter mais informações sobre a distinção entre Office.initialize e Office.onReady, consulte Inicializar seu suplemento.

  7. Quando o corpo de HTML e DOM terminar de carregar e o suplemento finalizar a inicialização, a função principal do suplemento poderá prosseguir.

Confira também