Ms office “将消息从主机页发送到”对话框

Ms office “将消息从主机页发送到”对话框,ms-office,office-js,Ms Office,Office Js,我正在尝试使用Office加载项 根据文档,我们可以使用Office.context.ui.messageParent将对话框中的消息发送到主机页(例如,任务窗格)。然而,我不知道如何将消息从主机页发送到对话框 有人知道怎么做吗?有两种可能的解决方案: 当您打开pagein对话框时,将数据作为查询参数发送 若在同一个域中有,那个么本地存储应该在打开的对话框中可用。 setInterval(函数(){var value=localStorage.getItem(“dataFromDialog”);

我正在尝试使用Office加载项

根据文档,我们可以使用
Office.context.ui.messageParent
将对话框中的消息发送到主机页(例如,任务窗格)。然而,我不知道如何将消息从主机页发送到对话框


有人知道怎么做吗?

有两种可能的解决方案:

  • 当您打开pagein对话框时,将数据作为查询参数发送
  • 若在同一个域中有,那个么本地存储应该在打开的对话框中可用。
    setInterval(函数(){var value=localStorage.getItem(“dataFromDialog”);},500)
    您可以在dialog
    localStorageSetItem(“dataFromDialog”、“message to parent”)中的localStorage中写入相同的值。

  • 此功能现在处于预览状态

    文章中的例子:

    Office.context.ui.addHandlerAsync(
        Office.EventType.DialogParentMessageReceived,
        onMessageFromParent);
    
    function onMessageFromParent(event) {
        var messageFromParent = JSON.parse(event.message);
    }
    

    你能解释一下“查询参数”吗?对于
    localstorage
    ,对话框如何通知主机页
    localstorage
    中有新内容?当您通过displayDialog(url)打开一个对话框时,您可以使用查询参数构造url,如和此值,您可以在页面中读取您在对话框中加载的内容。Ragarding to localstorage:我认为您可以定期从家长那里检查localstorage是否有更改。我没有说过这很方便。这只是一个解决方案,我也在使用它。如果有其他办法,我会很高兴,但我没有找到解决这个问题的其他办法。所以如果你发现了什么,最好在这里分享:)好的。。。让我们看看别人怎么说。。。奇怪的是,没有办法发送类似于
    post.message
    …@SoftTimur的消息:在几个小时前的评论中,您说“我希望对话框可以随时向主机页发送消息”,这可以通过messageParent完成。但您最初的问题是关于主机页向对话框发送消息。目前还没有API来做这件事。似乎是一个重复的请投票的功能要求,如答案中所示。