【问题标题】:Office.js displayDialogAsync throws internal errorOffice.js displayDialogAsync 引发内部错误
【发布时间】:2017-10-17 15:39:18
【问题描述】:

我正在尝试显示来自在 Office 365 版本的 Outlook 2016(最近更新,EXE 版本 16.0.8431.2107)中运行的 Outlook JS 插件的对话框。

我在F12调试器控制台输入的代码如下:

Office.context.ui.displayDialogAsync(
    window.location.origin,
    {width: 500, height: 500},
    function(result) { 
        console.log(result) 
    }
);

返回的结果是

error:{
    code: 5001,
    message: "Ein interner Fehler ist aufgetreten.",
    name: "Interner Fehler"
},
status: "failed",
value: undefined

并且没有打开任何对话框。

我是否忽略了一些奇怪的要求?

【问题讨论】:

  • 您是在 OWA 或 Windows Outlook 客户端中运行加载项吗?
  • @grg 在 Windows Outlook 2016 客户端,EXE 版本 16.0.8431.2107。
  • 尝试将宽度和高度值设置为小于 100,因为这些是对话框应占据的父窗口的百分比。
  • @Alexander F12 调试器控制台通常用于 Web 浏览器。澄清一下,您是说您在 Web 浏览器或桌面 Outlook 客户端中启动了 F12 调试器控制台?你有截图可以分享吗?
  • @Alexander,感谢您指出您正在使用 F12Chooser。我刚刚使用 F12Chooser 在更新版本的 Outlook 上运行了您的代码,并且能够看到对话框出现。如果您将此代码添加到应用程序并运行它,您是否看到此失败?

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


【解决方案1】:

如果您能够 F12 调试您的脚本,您能否验证 window.location.origin 的输出。

Office 插件基于 IE 并使用特殊的安全设置。在这种情况下,IE 可能会禁用 window.location.origin。

在我自己的机器上,我可以看到它返回 'undefined',所以在这种情况下,您将 undefined 作为 url 传递,并且 API 失败。

如果您安装了最新的 IE,请确保在您的 html 页面中,它具有以下元标记。它将强制 Office 加载项使用最新的 IE 设置,而不是兼容的视图模式。

<meta http-equiv="X-UA-Compatible" content="IE=Edge"/>

【讨论】:

    【解决方案2】:

    问题已解决。

    我说

    最近更新

    忘了提到我在更新和测试之间没有重新启动(Office 没有告诉我)。似乎重新启动就可以了。我现在得到一个对话窗口。

    【讨论】:

      猜你喜欢
      • 2018-10-06
      • 1970-01-01
      • 1970-01-01
      • 2018-07-02
      • 2019-02-25
      • 1970-01-01
      • 1970-01-01
      • 2021-10-25
      • 1970-01-01
      相关资源
      最近更新 更多