使用executeFunction功能區按鈕執行帶dialogApi的對話框時,executeFunction事件從未在Outlook for Windows中完成。 在清單中,我們調用函數「x」觸發對話框並添加事件處理程序。在Outlook for Windows中未完成Outlook Addin ExecuteFunction功能區按鈕
function x(evt) { _event = evt; ...}
Office.context.ui.displayDialogAsync(settings, function (asyncResult) {
_dialog = asyncResult.dialog;
_dialog.addEventHandler(Office.EventType.DialogMessageReceived, messageHandler);
_dialog.addEventHandler(Office.EventType.DialogEventReceived, eventHandler);
})
function messageHandler() { _event.completed(); }
function eventHandler() { _event.completed(); }
更新:
1.在清單中,有一個帶按鈕定義執行的功能。該函數接受從功能區按鈕單擊傳遞的事件參數,並調用Office.context.ui.displayDialogAsync api以打開對話框。事件參數保存到全局變量中,以便稍後在對話框事件處理程序中調用它。當點擊功能區按鈕時,對話框會正常打開,但是,當對話框關閉時,event.completed似乎不會被調用。附加的圖像運行約10-15分鐘。
2.代碼片段來自原始發佈。
3.使用的平臺是Windows 10上帶有IE 11和Edge的Outlook 2016
*奇怪的行爲:出於調試目的,每個事件處理程序都觸發任意的異步請求。在調用event.completed之前發出請求時,事件成功完成。
嗨jchoi76!感謝您的發佈。您能否請添加更多信息,以便我們更好地理解您的問題: 1)您能描述一下您重現問題的確切步驟嗎? 2)你能分享你在對話框頁面中運行的代碼嗎? 3)您使用的Windows,Internet Explorer和桌面Outlook的版本是什麼? –