Я устраняю проблему, из-за которой всплывающее окно, созданное надстройкой Outlook, не связывается с его родителем при использовании Office.context.ui.messageParent()
в клиенте Outlook для настольных ПК для Windows.
Проблема началасьпроисходит после обновления Windows 10 (1903). Используемая версия клиентского рабочего стола Outlook: 16.0.12026.20344. Я загружаю Office JS Api через CDN, предоставленный в их репозитории Github.
Сначала я думал, что во всплывающем окне не было регистрации правильных событий, но событие возникло (dialogEventReceived
) когда всплывающее окно закрыто, оно регистрируется и обрабатывается правильно.
После вызова Office.context.ui.messageParent()
.
нет зарегистрированных ошибок. Я убедился, что всплывающее окно (обработка аутентификации в этом случае) корректно загружает API Office JS и выполняет инициализацию.
Все соответствующие домены приложения были правильно перечислены в файле манифеста надстройки.
Office.context.ui.displayDialogAsync(fullUrl,
{
height: 60,
width: 20,
displayInIframe: false
}, function (asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
//showNotification(asyncResult.error.code = ": " + asyncResult.error.message);
} else {
dialog = asyncResult.value;
dialog.addEventHandler(Office.EventType.DialogMessageReceived, processMessage);
dialog.addEventHandler(Office.EventType.DialogEventReceived, processDialogEvent);
}
});
Office.initialize = function() {
console.log('oauth2 redirect');
debugger;
Office.context.ui.messageParent(window.location.href);
};
Ожидаемое поведение - всплывающее окно вызывает событие dialogMessageReceived
.