Javascript 我想在调用Office.context.ui.displayDialogAsync()方法时跳过显示消息
我正在编写Outlook加载项 我想使用Javascript 我想在调用Office.context.ui.displayDialogAsync()方法时跳过显示消息,javascript,outlook,office365,office-js,Javascript,Outlook,Office365,Office Js,我正在编写Outlook加载项 我想使用displayDialogAsync()显示一条对话框消息 但当我使用该方法时,在显示对话框之前会显示确认消息(我附上了一个屏幕截图) 是否有跳过此邮件的解决方案 ・参考文献 该消息对于防止弹出窗口阻止程序是必需的。所以,如果你使用弹出模式,没有办法跳过它。但是,如果页面支持iframing,则可以传递displayAsIframe=true参数(请参阅);此模式不显示额外确认,因为它显示为带有Iframe的浮动div(与新窗口相反) 重要提示:我看到
displayDialogAsync()
显示一条对话框消息
但当我使用该方法时,在显示对话框之前会显示确认消息(我附上了一个屏幕截图)
是否有跳过此邮件的解决方案
・参考文献
该消息对于防止弹出窗口阻止程序是必需的。所以,如果你使用弹出模式,没有办法跳过它。但是,如果页面支持iframing,则可以传递displayAsIframe=true参数(请参阅);此模式不显示额外确认,因为它显示为带有Iframe的浮动div(与新窗口相反)
重要提示:我看到您正在Office Online中使用API。请注意,我们还没有正式更新我们的文档和样本,以说明它是受支持的,因此您可能会看到一些颠簸。我预计到明年初一切都会就绪 在Outlook Web Access中,使用
window.open()
而不是对话框API。这将允许您在不显示此对话框的情况下启动子窗口。不过,有一些警告:
window.open()
,Firefox将显示弹出阻止警告。如果外接程序的用户可能正在使用Firefox,只需确保在启动新窗口时,您直接在onClick
处理程序或其他程序中进行操作,而不是通过Promise
或异步回调window.open()
将始终触发弹出阻止警告
我们的外接程序具有与以下类似的逻辑:
function launchDialog(url) {
if (/WebApp/.test(Office.context.mailbox.diagnostics.hostName)) {
window.open(url);
} else {
Office.context.ui.displayDialogAsync(url);
}
}
希望这有帮助 谢谢你的编辑。谢谢你的评论。
function launchDialog(url) {
if (/WebApp/.test(Office.context.mailbox.diagnostics.hostName)) {
window.open(url);
} else {
Office.context.ui.displayDialogAsync(url);
}
}