Office.js displayDialogAsync抛出内部错误

时间:2017-10-17 15:39:18

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

我正在尝试在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

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

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

2 个答案:

答案 0 :(得分:2)

如果你能够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"/>

答案 1 :(得分:1)

问题已修复。

我说

  

最近更新了

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