在Outlook 365中使用对话框API打开模式对话框将显示“新窗口”警报

时间:2018-09-19 10:58:18

标签: login modal-dialog office365 outlook-addin office-js

我正在新的Outlook 365外接程序中实现登录系统,但是当用户尝试打开模式登录窗口时,出现警告“ {Addin name}要显示新窗口”的问题。在其他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 :(得分:1)

只需在promptBeforeOpen:false中设置displayDialogAsync

unique index

答案 1 :(得分:0)

这是设计使然。如果要打开的页面可以在iframe中打开,则应将displayInIFrame设置为false(默认值)。

答案 2 :(得分:0)

如果对话框随时会重定向到无法在iframe中打开的页面,则不应使用displayInIframe: true

例如,许多流行的Web服务(例如Google和Microsoft帐户)的登录页面无法在iframe中打开。