我想在调用Office.context.ui.displayDialogAsync()方法时跳过显示消息

时间:2016-12-02 01:47:53

标签: javascript outlook office365 office-js

我正在编写Outlook加载项。

我想使用displayDialogAsync()显示对话框消息。

但是当我使用该方法时,会在显示对话框之前显示确认消息(我附上了屏幕截图)。

是否有解决此消息的解决方案?

screen shot : the message when a code calls displayDialogAsync()

·参考

https://dev.office.com/docs/add-ins/develop/dialog-api-in-office-add-ins

    function openWindow()
    {
        var startAddress = 'https://localhost:44303/AppCompose/Sample/Sample.html';
        Office.context.ui.displayDialogAsync(startAddress);
    }

1 个答案:

答案 0 :(得分:1)

在Outlook Web Access中,使用window.open()代替Dialog API。这将允许您启动子窗口而不显示此对话框。但是有一些警告:

  1. 正在启动的窗口的URL必须与您的加载项属于同一个域。否则,您可能会看到弹出窗口被阻止的警告。

  2. 如果未将window.open()作为用户操作的直接结果调用,Firefox将显示弹出窗口阻止警告。如果您的加载项用户可能正在使用Firefox,请确保在启动新窗口时,您直接在onClick处理程序或其他内容中执行此操作,而不是通过{{ 1}}或异步回调。

  3. 在Outlook桌面应用中,Dialog API按预期工作,实际上,使用Promise将始终触发弹出窗口阻止警告。

    我们的加载项具有类似于以下内容的逻辑:

    window.open()

    希望这有帮助!