2017-03-15 157 views
2

我們希望使用Dialog API進行一些更適合更大工作區域的額外操作。我們已經通過API信息的能力從對話框(Office.context.ui.messageParent)父,但是我們還要有能力直接消息對話框,像sendMessage功能,例如:Office對話框API發送消息給子對話框

var dialog; 
Office.context.ui.displayDialogAsync('https://myDomain/myDialog.html', function (asyncResult) { 
    if (asyncResult.status === "failed") { 
     showNotification(asynceResult.error.code = ": " + asyncResult.error.message); 
    } else { 
     dialog = asyncResult.value; 
     dialog.addEventHandler(Office.EventType.DialogMessageReceived, processMessage); 
     dialog.sendMessage({ /* my payload */ }); //??? 
    } 
}); 

有一個幾個選項從父數據傳遞給孩子:

  1. 查詢字符串:displayDialogAsync(myUrl + "?myMessage=...", function...)
  2. localStorage的(如果在同一個域):localStorage.setItem("DIALOG_MESSAGE", myMessage)

但是,這些只能用於對話框的初始化,它們不提供執行異步消息傳遞的好方法。

回答

3

這是一個受歡迎的請求(和一個好主意),但它尚未得到支持。請轉到Office Dev User Voice並在那裏投票「改進自定義對話框」建議,或者創建自己的新建議。