如何在 Dialog API Office JS 中处理 event.completed()
How to handle event.completed() in Dialog API Office JS
我目前正在通过 Outlook 功能区上的按钮调用对话框。该对话框工作正常,没有任何问题,但即使在对话框 opened/closed.
之后,也会出现消息“...加载项正在处理您的请求”
对话框的调用方式如下..
function openDialog(event) {
Office.context.ui.displayDialogAsync('https://xxxx.azurewebsites.net', { height: 80, width: 92 },
function (asyncResult) {
dialog = asyncResult.value;
dialog.addEventHandler(Office.EventType.DialogMessageReceived, processMessage);
event.completed();
}
);
}
function processMessage(event) {
event.completed();
}
如何避免这条消息?也尝试在 EventHandler 回调 (processMessage) 中关闭事件,但没有成功。
对于addEventHandler,如果您想在对话框关闭时完成事件,可以使用DialogEventReceived事件,该事件在对话框关闭或卸载时触发。此外,处理函数 (processMessage) 应使用与事件不同的参数名称,以免覆盖变量。
function openDialog(event) {
Office.context.ui.displayDialogAsync('https://xxxx.azurewebsites.net', { height: 80, width: 92 },
function (asyncResult) {
dialog = asyncResult.value;
dialog.addEventHandler(Office.EventType.DialogEventReceived, processMessage);
event.completed();
}
);
}
function processMessage(args) {
event.completed();
}
我目前正在通过 Outlook 功能区上的按钮调用对话框。该对话框工作正常,没有任何问题,但即使在对话框 opened/closed.
之后,也会出现消息“...加载项正在处理您的请求”对话框的调用方式如下..
function openDialog(event) {
Office.context.ui.displayDialogAsync('https://xxxx.azurewebsites.net', { height: 80, width: 92 },
function (asyncResult) {
dialog = asyncResult.value;
dialog.addEventHandler(Office.EventType.DialogMessageReceived, processMessage);
event.completed();
}
);
}
function processMessage(event) {
event.completed();
}
如何避免这条消息?也尝试在 EventHandler 回调 (processMessage) 中关闭事件,但没有成功。
对于addEventHandler,如果您想在对话框关闭时完成事件,可以使用DialogEventReceived事件,该事件在对话框关闭或卸载时触发。此外,处理函数 (processMessage) 应使用与事件不同的参数名称,以免覆盖变量。
function openDialog(event) {
Office.context.ui.displayDialogAsync('https://xxxx.azurewebsites.net', { height: 80, width: 92 },
function (asyncResult) {
dialog = asyncResult.value;
dialog.addEventHandler(Office.EventType.DialogEventReceived, processMessage);
event.completed();
}
);
}
function processMessage(args) {
event.completed();
}