2017-10-17 78 views
1

我试图显示一个在Office 2016的Outlook 2016(最近更新,EXE版本16.0.8431.2107)版本中运行的Outlook JS插件的对话框。Office.js displayDialogAsync引发内部错误

我在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 

,并打开任何对话框。

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

+0

您是否正在运行OWA或Windows Outlook客户端中的加载项? – grg

+0

@grg在Windows Outlook 2016客户端中,EXE版本16.0.8431.2107。 – Alexander

+0

尝试将宽度和高度值设置为小于100,因为这些是对话框应占用的父窗口的百分比。 – grg

回答

0

问题已修复。

我说

最近更新

,并忘了提,我没有更新我的测试之间重新启动(办公室没有告诉我)。看起来重新启动了伎俩;我现在正在获得一个对话窗口。

1

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

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

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

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

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