我正在尝试使用Office插件的Dialog 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
?
答案 0 :(得分:0)
控制台错误不会对对话框造成任何不良影响。我们已经在内部修复了它。你可以忽略这个错误。您是否检查office.context.ui.messageParent是null还是未定义?如果不是,则对话框已成功初始化。那么postMessage方法只会出现问题,你使用的是什么系统和浏览器版本? 1.如果是Win10和最新版本的IE,请确保对话框的第一页域与任务窗口域相同。或者您可以使用其他浏览器进行尝试。 2.如果它是Win7&amp; 8&amp; 8.1和IE,那么你可以尝试在其他浏览器中查看messageParent api是否有效。我们已经完成了代码更改以修复IE问题。它将很快被部署。