使用嵌入式浏览器强制打开Outlook加载项弹出窗口

时间:2017-08-02 20:52:47

标签: outlook-web-addins

我发现我的Outlook加载项(在Outlook 2016中运行)出现问题,当我使用window.open打开弹出窗口时,它有时会在用户的默认浏览器中打开(例如Chrome)而不是运行加载项的浏览器(例如嵌入在Outlook 2016中的IE11 Web视图)。这是一个问题,因为它会阻止弹出窗口与加载项通信,这对于点击劫持保护是必需的。

有没有办法在不使用Dialog API的情况下强制在运行加载项的同一浏览器中打开弹出窗口?我想支持要求集1.3。

1 个答案:

答案 0 :(得分:2)

您应该检查displayDialogAsync API是否存在。它被添加到需求集1.4中。

如果存在,我们建议使用它。请注意,该对话框只能调用Office.context.ui.messageParent API。此API允许对话框与加载项进行单向通信。加载项可以使用这些消息来利用Office.js API。

如果displayDialogAsync API不存在,您可以利用window.open。但是,在这种情况下,将不会启动默认浏览器。