我们希望使用 Dialog API 进行一些更适合更大工作区域的额外操作。我们已经能够通过 API 从对话框中向家长发送消息(Office.context.ui.messageParent
),但是我们还希望能够直接向对话框发送消息,例如sendMessage
函数,例如:
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)
但是,这两种方法都只能在对话框初始化时真正使用,它们没有提供执行异步消息传递的好方法。
这是一个受欢迎的请求(也是一个好主意),但尚未得到支持。请前往Office 开发者用户心声 https://officespdev.uservoice.com/并对“改进自定义对话框”建议进行投票,或者创建您自己的新建议。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)