window.opener在Excel for Windows中不起作用

时间:2017-06-20 14:00:11

标签: ms-office office-js window.opener shared-worker message-channel

我已经构建了一个Excel加载项,它会打开window.open的弹出窗口,然后加载项会与弹出站点进行通信。我刚刚意识到它在Excel for Windows中不起作用,原因是弹出窗口无法通过$window.opener获取主机。

为了说明这一点并避免跨域,我提出了a xml,它引用了the add-inthe test page。它在Chrome和IE中的Excel Online中运行良好。但是,在Excel for Windows中运行时,$window.opener会返回undefined

有谁能告诉我发生了什么,以及解决方法是什么?

(对于推荐Dialog API的人,请参阅this thread。所以现在,对话框和window.open都不适用于Excel for Windows。

1 个答案:

答案 0 :(得分:0)

UI.messageParent也行不通?它来自official docs

示例:

Office.context.ui.messageParent("Message from Dialog box")

文档:

  

从对话框向其父/开启者页面发送消息。调用此API的页面必须与父级位于同一个域中。

(我假设这不是您所指的Dialog API)