Открытие модального окна с помощью диалогового API в Outlook 365 показывает предупреждение «новое окно» - PullRequest
0 голосов
/ 19 сентября 2018

Я внедряю систему входа в систему в моей новой надстройке Outlook 365, но у меня возникла проблема с предупреждением "{Имя надстройки} хочет отобразить новое окно", которое появляется, когда пользователи пытаются открыть модальное окно входа в систему.Этого не происходит в других надстройках Outlook 365.

После документации нет никаких упоминаний о каких-либо ограничениях: (https://docs.microsoft.com/en-us/office/dev/add-ins/develop/dialog-api-in-office-add-ins), но, тем не менее, он отображается так, как вы видите:

Warning before opening a modal login window

Я включил свой домен в "AppDomains" в манифесте на случай, если это проблема, но проблема сохраняется.

Любые предложения будут оценены.

Обновление: Вот соответствующий фрагмент кода:

export const modalLogin = () => dispatch => {
    return new Promise(resolve => {
        Office.context.ui.displayDialogAsync(urls.login, {height: 50, width: 50},
            function (asyncResult) {
                let dialog = asyncResult.value;
                dialog.addEventHandler(Office.EventType.DialogMessageReceived, (arg) => {
                    let messageFromDialog = JSON.parse(arg.message);
                    if (messageFromDialog.outcome === "success") {
                        dispatch(requestDone(resources.login, messageFromDialog.response));
                    } else {
                        dispatch(requestError(resources.login, messageFromDialog.response));
                    }
                    dialog.close();
                    resolve();
                });
            }
        );
    })
};

Ответы [ 3 ]

0 голосов
/ 20 сентября 2018

Не следует использовать displayInIframe: true, если в любой момент диалоговое окно будет перенаправлено на страницу, которая не может быть открыта в iframe.

Например, страницы входа многих популярных веб-сервисов, таких как Google и Microsoft Account, не могут быть открыты в iframe.

0 голосов
/ 26 февраля 2019

Просто установите promptBeforeOpen:false в displayDialogAsync.

https://docs.microsoft.com/en-us/javascript/api/office/office.dialogoptions?view=office-js#promptbeforeopen

0 голосов
/ 20 сентября 2018

Это по замыслу.Если страница, которую вы пытаетесь открыть, может открываться в iframe, вам следует установить displayInIFrame: false (значение по умолчанию).

...