背景
目前,我有一个Outlook插件,可以在Outlook Thin Client,Chrome和Firefox上的OWA中完全正常工作。
问题
IE Edge和IE 11上的(仅Owa) 我有以下问题:
当控件从在对话框弹出窗口中打开的我的页面转到第三方登录提供程序时,与DialogClosing相关的代码将触发,代码为12009。 虽然弹出窗口仍然打开。
在Office客户端外部加载Office.js
这是控件从我的站点传递到身份验证站点(登录(login.live.com))并返回到我尝试的重定向脚本(弹出打开脚本和重定向脚本都托管在同一域中)时的情况并提取所传递的代码。
除了Edge和IE之外,其他浏览器都可以正常运行。
向我显示代码(摘要)
// height and width are percentages of the size of the screen.
Office.context.ui.displayDialogAsync(fullUrl, {height: 45, width: 55, displayInIframe: false},
function (asyncResult) {
console.log(asyncResult);
if (asyncResult.status === "failed") {
LogMessage(LOG_MESSAGES.DISPLAY_DIALOG_ASYNC_FAILED + " Error: " + asyncResult.error.code + " " + asyncResult.error.message);
//Error code 12009 means "user chose to ignore the dialog box"
if (asyncResult.error.code === 12009) {
authenticationFailure();
} else {
myLogin();
}
} else {
dialog = asyncResult.value;
dialog.addEventHandler(Office.EventType.DialogMessageReceived, handleToken);
dialog.addEventHandler(Office.EventType.DialogEventReceived, dialogClosing);
LogMessage(LOG_MESSAGES.DISPLAY_DIALOG_ASYNC_SUCCEED);
}
});
保护模式:
默认为开启。 在浏览其他答案时,这似乎与保护模式有关。 我关闭并在Edge中重新测试,但问题仍然存在。 在IE11中,该问题已解决。
还有其他信息吗?
是的,由于某些原因,在IE和Edge中,弹出窗口都会打开并立即失去焦点。