我正在尝试使用Office的对话框API。
我可以通过以下方式成功地打开任务窗格中的对话框:
$scope.openDialog = function () {
Office.context.ui.displayDialogAsync('https://localhost:3000/home',
function (asyncResult) {
dialog = asyncResult.value;
dialog.addEventHandler(Office.EventType.DialogMessageReceived, processMessage);
});
}我的对话框是一个mean-stack站点。我在<script src="https://appsforoffice.microsoft.com/lib/1/hosted/office.js"></script>中添加了index.html。我尝试使用Office.context.ui.messageParent(true);,它显示了控制台中的一个错误:

我在医生身上看到我不太明白:
Office JavaScript库将加载到页面中。(与任何使用Office JavaScript库的页面一样,该页的脚本必须将方法分配给Office.initialize属性,尽管它可以是空方法。有关详细信息,请参阅初始化外接程序。)
我还尝试在Office.initialize = function () { };中添加index.html,错误仍然存在,任务窗格的processMessage似乎没有收到任何信息。
那么,我应该对我的mean-stack站点做什么特别的事情,以便它可以使用messagePerent吗?
发布于 2017-05-26 01:04:51
控制台错误不会给对话框带来任何不良影响。我们内部已经修好了。您可以忽略这个错误。您是否检查了office.context.ui.messageParent是空还是未定义?如果不是,则该对话框已成功初始化。如果是postMessage和IE的最新版本,请确保对话框首页域与任务窗格域相同。或者您可以使用其他浏览器进行尝试。2.如果是Win7 7&8&8.1和IE,那么您可以在其他浏览器中尝试查看messageParent api是否工作。我们已经做了一个代码修改来解决IE问题。它很快就会被部署来刺激。
https://stackoverflow.com/questions/44183328
复制相似问题