Как запускать функции из function-file.html надстройка word

#javascript #office-js

#javascript #office-js

Вопрос:

У меня есть надстройка word, в которую я добавил контекстное меню. Это контекстное меню запустит конкретную функцию, определенную в funtion-file.js . Надстройка создается с помощью yoman-generator-office.

Я прочитал официальную документацию по изменению XML-файла для добавления контекстного меню. Я не знаю, как я могу отладить function-file.js . Когда я нажимаю на контекстное меню, в нижней строке состояния отображается «… надстройка работает над вашим …» в течение 2 секунд, и ничего не происходит. Будем признательны за любую помощь.

Вот изменение, внесенное в манифест. Чтобы включить файл функции

 <FunctionFile resid="Contoso.DesktopFunctionFile.Url" />
<bt:Url id="Contoso.DesktopFunctionFile.Url" DefaultValue="https://localhost:3000/function-file/function-file.html" />
  

Для создания контекстного меню

 <ExtensionPoint xsi:type="ContextMenu">
            <OfficeMenu id="ContextMenuText">
              <Control xsi:type="Button" id="reDockButtonId">
                <Label resid="Contoso.ContextMenu.Label" />
                <Supertip>
                  <Title resid="Contoso.ContextMenu.Label" />
                  <Description resid="Contoso.ContextMenu.Tooltip" />
                </Supertip>
                <Icon>
                  <bt:Image size="16" resid="Contoso.tpicon_16x16" />
                  <bt:Image size="32" resid="Contoso.tpicon_32x32" />
                  <bt:Image size="80" resid="Contoso.tpicon_80x80" />
                </Icon>
                <Action xsi:type="ExecuteFunction">
                  <FunctionName>search</FunctionName>    
                </Action> 
              </Control>         
            </OfficeMenu>
          </ExtensionPoint>
  

The function-file.js

 (function () {
  Office.initialize = function (reason) {};
})();

function search(event) {
    window.open('https://www.google.com/');
    event.completed();
}
  

Комментарии:

1. window.open () иногда возникают проблемы с веб-надстройкой outlook, попробуйте использовать Dialog API . Возможно, ваша надстройка была запущена, но из-за проблем с использованием window.open() URL-адрес не был открыт.

2. Пожалуйста, добавьте свой HTML-документ?

Ответ №1:

Для отладки команд надстройки необходимо использовать Office Online. Подробности см. в разделе Надстройка отладки в Office Online.