我正在新的Outlook 365外接程序中实现登录系统,但是当用户尝试打开模式登录窗口时,出现警告“ {Addin name}要显示新窗口”的问题。在其他Outlook 365加载项中不会发生这种情况。
在文档之后,没有提及任何限制:(https://docs.microsoft.com/en-us/office/dev/add-ins/develop/dialog-api-in-office-add-ins),但是如您所见,它仍在显示:
如果出现问题,我会将清单中的域包含在“ 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();
});
}
);
})
};
答案 0 :(得分:1)
只需在promptBeforeOpen:false
中设置displayDialogAsync
。
答案 1 :(得分:0)
这是设计使然。如果要打开的页面可以在iframe中打开,则应将displayInIFrame设置为false(默认值)。
答案 2 :(得分:0)
如果对话框随时会重定向到无法在iframe中打开的页面,则不应使用displayInIframe: true
。
例如,许多流行的Web服务(例如Google和Microsoft帐户)的登录页面无法在iframe中打开。