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 */ }); //???
}
});
有一个几个选项从父数据传递给孩子:
- 查询字符串:
displayDialogAsync(myUrl + "?myMessage=...", function...)
- localStorage的(如果在同一个域):
localStorage.setItem("DIALOG_MESSAGE", myMessage)
但是,这些只能用于对话框的初始化,它们不提供执行异步消息传递的好方法。