Диалог вызова API открывает браузер при использовании Word внутри команд Microsoft - PullRequest
0 голосов
/ 11 октября 2018

В Microsoft Teams на Mac (возможно, и в других версиях) у вас есть возможность редактировать документ внутри команд.Это откроет экземпляр Word Online.

У нас есть веб-надстройка Office, которая использует диалоговый интерфейс API для входа в нашу службу.Мы открываем это, звоня Office.context.ui.displayDialogAsync(_UrlGoesHere_).Однако, когда внутри Команд, этот метод не открывает диалог, а вместо этого использует поведение Word Online (как если бы вы были в браузере) и запускает совершенно новое окно браузера.

Это означает, что мы теряем связь между надстройкой и диалоговым окном входа в систему, поскольку окно браузера больше не является дочерним элементом панели задач веб-надстройки, и поэтому невозможно выполнить какие-либо обратные вызовы надстройки.

Это похоже на неправильное поведение в Word / веб-надстройках?Или это должно быть сделано иначе, когда внутри Команды?

Спасибо!

1 Ответ

0 голосов
/ 11 октября 2018

Причина, по которой вы видите поведение Word Online, заключается в том, что вы используете Word Online .Когда вы редактируете документ в Microsoft Teams, вы просто используете Word Online в IFrame.

Имейте в виду, что собственный клиент Microsoft Teams по-прежнему остается веб-приложением.Команды построены на Electron , который сам построен на Chromium и Node.js .

Вы можете попробовать использовать параметр displayInIframe в Dialog API.Включение этой опции приведет к тому, что диалоговое окно будет отображаться в IFrame с наложением на редактор, а не с открытием нового окна браузера.Я не настроен для подтверждения того, что это будет работать, когда Word Online встроен в команды и IFrame в командах, но это, безусловно, стоит проверить:

displayDialogAsync('url', {displayInIframe: true}): void;
...