2017-03-15 160 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并在那里投票“改进自定义对话框”建议,或者创建自己的新建议。