#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.