【问题标题】:displayDialogAsync method of Office.js API not opening the pageOffice.js API 的 displayDialogAsync 方法未打开页面
【发布时间】:2018-10-22 20:40:46
【问题描述】:

我用这个Microsoft tutorialVS2017 中构建了一个WORD 插件。该加载项按预期工作。然后,为了测试,我在Home.html 文件的任务窗格标记中添加了一个按钮btnTestbtnTest 调用Home.js 中的以下函数。当您单击任务窗格中的btnTest 按钮时,代码的第一行(现已注释掉)在浏览器中打开指定的 url,但第二行什么也不做。我怎样才能让displayDialogAsync(…) 在这里工作?我正在使用Office 2016 desktop version

function MyTestMethod() {

     //window.open('http://localhost:50900/home.html');
     Office.context.ui.displayDialogAsync('http://localhost:50900/home.html');
}

【问题讨论】:

    标签: office-js office-js-helpers


    【解决方案1】:

    一般故障排除建议: 请在 displayDialogAsync 的调用中添加回调参数。将 AsyncResult 对象传递给回调。在回调的主体中读取 AsyncResult.status 和 AsyncResult.error 属性并将它们记录到控制台。这会告诉你出了什么问题。

    在这种情况下,您使用的是 http 协议。您链接到的帮助主题说 https 是必需的。

    我强烈建议大家在使用 Dialog API 之前通读这篇文章:Dialog API in Office Add-ins

    【讨论】:

    • 但是我从 GitHub 下载了this 示例到VS2017,其中IISExpress 也在没有 SSL 的情况下运行,并且在调用以下方法时成功显示对话框function openDialog() { Office.context.ui.displayDialogAsync(window.location.origin + "/Dialog.html", { height: 50, width: 50 }, dialogCallback); }
    • 该示例的自述文件说在不使用 VS 时使用 HTTPS。它没有为 VS 指定此项的唯一原因是因为为 VS 创建的 Office 插件项目自动使用 HTTPS。 .proj 文件显示 <WebProjectProperties><UseIIS>True</UseIIS> … </WebProjectProperties>
    猜你喜欢
    • 1970-01-01
    • 2018-10-06
    • 1970-01-01
    • 2018-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多