我已经构建了一个Excel加载项,它会打开window.open
的弹出窗口,然后加载项会与弹出站点进行通信。我刚刚意识到它在Excel for Windows中不起作用,原因是弹出窗口无法通过$window.opener
获取主机。
为了说明这一点并避免跨域,我提出了a xml,它引用了the add-in和the test page。它在Chrome和IE中的Excel Online中运行良好。但是,在Excel for Windows中运行时,$window.opener
会返回undefined
。
有谁能告诉我发生了什么,以及解决方法是什么?
(对于推荐Dialog API的人,请参阅this thread。所以现在,对话框和window.open
都不适用于Excel for Windows。
答案 0 :(得分:0)
UI.messageParent
也行不通?它来自official docs。
示例:
Office.context.ui.messageParent("Message from Dialog box")
文档:
从对话框向其父/开启者页面发送消息。调用此API的页面必须与父级位于同一个域中。
(我假设这不是您所指的Dialog API)