Office js Office add-in Office.context.ui.displayDialogAsync窗口将不会与“同步”一起出现;“发送时”;功能激活

Office js Office add-in Office.context.ui.displayDialogAsync窗口将不会与“同步”一起出现;“发送时”;功能激活,office-js,outlook-web-addins,Office Js,Outlook Web Addins,我正在尝试将Office对话框窗口添加到。我可以完美地运行教程,被阻止的单词也会按预期被阻止。但是,当我试图修改教程以添加displayDialogAsync()时,对话框代码被完全忽略,并且我根本看不到弹出窗口。以下是我的修改,DisplayInFrame设置为false: function validateBody(asyncResult) { Office.context.mailbox.item.notificationMessages.addAsync('NoSend

我正在尝试将Office对话框窗口添加到。我可以完美地运行教程,被阻止的单词也会按预期被阻止。但是,当我试图修改教程以添加displayDialogAsync()时,对话框代码被完全忽略,并且我根本看不到弹出窗口。以下是我的修改,DisplayInFrame设置为false:

function validateBody(asyncResult) {

        Office.context.mailbox.item.notificationMessages.addAsync('NoSend', { type: 'errorMessage', message: 'Processing mail about to be sent.' });
            var dialog

            var url = "https://localhost:3000/test.html"
            Office.context.ui.displayDialogAsync(url, { width: 80, height: 60, displayInIframe: true }, function(result) {
                if (result.status === Office.AsyncResultStatus.Failed) {
                        console.log("FAILED: " + result.error.message)
                        reject(new DialogError(result.error.message, result.error))
                }
                 dialog = result.value
          dialog.addEventHandler(Office.EventType.DialogMessageReceived, args => {
                                    console.log("MSG RECVD")
                                    console.log(args.status)
                                    if(true){ // just for testing; both branches cause the Send button to grey out
                                            asyncResult.asyncContext.completed({ allowEvent: true });
                                    }
                                    else {
                                            asyncResult.asyncContext.completed({ allowEvent: false });
                                    }
                            })
                    dialog.close()

            })


   //asyncResult.asyncContext.completed({ allowEvent: true });
        }
如果我将displayInFrame更改为true,我将使其进入函数,并且我看到一个错误:

操作失败,因为此加载项已具有活动对话框


我已经验证了我的测试HTML是否存在,并且可以通过浏览器访问。我也检查了。

您在哪个客户机上执行此操作?(OWA、Mac、桌面Windows等)由于displayDialogAsync是一个异步调用,您是否可以在给event.completed()一个完成的机会之前调用它?我正在OS X Mojave上使用Chrome 77。如果我删除event.completed,我确实会看到窗口在关闭前快速闪烁,但如果我尝试发送后续电子邮件,则按下“发送”按钮时会变灰。这是预期的吗?我将修改我的问题以显示更多的源代码。谢谢。发送按钮变灰是一种预期行为,如果onSend正在运行,并且您单击发送按钮,则发送按钮将变灰,直到邮件发送。我尝试了你的代码,我确实看到了displayDialogAsync窗口。