【问题标题】:Outlook web add-in : displayDialogAsync() not workingOutlook Web 加载项:displayDialogAsync() 不起作用
【发布时间】:2018-11-24 05:39:35
【问题描述】:

我无法发布工作演示,因为代码需要在 MS Outlook 中运行。

我正在基于这个Outlook Add-in Command Demo进行开发。

我想添加一个对话框,如 MS 文档中的 here 所示。

我拿了那个工作演示并添加了一行:

Office.context.ui.displayDialogAsync('https://my_site.com/project/hello_world.html');   

https://my_site.com/project 是应用程序的其余部分,hello_world.html 是一个带有“Hello World”正文的最小 HTML 文件。

我添加了我看到 Office.context 被使用的地方 - 在函数 insertText() 中 - 以确保它已被创建。

在撰写电子邮件时单击任务窗格上的按钮时会调用该函数。

我没有看到“Hello World”对话框,控制台日志中也没有任何内容。

是否不允许在任务窗格中使用displayDialogAsync()

我可以从信息中给出我可能做错了什么,或者如何检测到它的任何想法?函数是否有返回值,或者如果失败则抛出异常?还有什么想法吗?是否有一个最小的演示,可能只是通过单击功能区上的按钮?

【问题讨论】:

    标签: office-js office-addins outlook-web-addins


    【解决方案1】:

    您可以从任务窗格调用displayDialogAsync。要进行故障排除,请将回调参数传递给该方法并读取 AsyncResult.error 属性。有关详细信息,请参阅Office.ui 以及您链接到的文章。

    【讨论】:

    • 谢谢,瑞克。 This page 我很有帮助,WRT AsyncResult.error 属性。
    • 顺便说一句,你知道任何真正基本的演示吗?也许只是一个将 HTML 页面显示为对话框的功能区按钮?
    • 您提供的文档链接中的示例应该非常简单。 (只要确保你在 office.initialize 之后调用它)你可以修改它以转储 asyncResult 结果以追踪错误是什么。 Office.context.ui.displayDialogAsync('myDomain/myDialog.html', {height: 30, width: 20}, function (asyncResult) { showMessage(JSON.stringify(asyncResult)); } );
    • 这里最常见的错误类型是您尝试访问的 URL 未包含在清单的 AppDomains 部分中。
    猜你喜欢
    • 2017-11-09
    • 2020-01-23
    • 1970-01-01
    • 2022-08-03
    • 1970-01-01
    • 2021-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多