javascript - Office.js displayDialogAsync 引发内部错误

标签 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

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

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

最佳答案

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

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

在我自己的机器上,我可以看到它返回“未定义”,因此在这种情况下,您将未定义作为 url 传递,并且 API 失败。

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

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

关于javascript - Office.js displayDialogAsync 引发内部错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46793999/

相关文章:

outlook-web-addins - office.js 在 outlook 中获取当前选中的正文

javascript - 如何从 onreadystatechange=function() 调用的函数返回变量

javascript - 如何修复 Vue 2 + UIKit 自动完成模板?

javascript - 您可以使用 CSS 来引用某个对象的父项或子项吗?

javascript - 如何在 JavaScript 中将 otpauth key 转换为 otp pin?

excel - 如何使用 Office JS API 对 Excel 中的行或列进行分组

javascript - 无法加载本地office.js

excel - 使用office-js删除excel表中的行

vue.js - "TypeError: item.getAttachmentsAsync is not a function"Outlook插件office-js with Vue

javascript - 如何从 Office365 中的 JavaScript API 获取重复数据