【问题标题】:Cannot send information to dialog box in Outlook add-in无法将信息发送到 Outlook 加载项中的对话框
【发布时间】:2023-03-04 12:49:01
【问题描述】:

我无法将信息发送到 Outlook 加载项中的对话框。这是父级中的 Javascript 代码:

 var url2 = window.location.origin+'/dialogbox.html'
 var dialog
 Office.context.ui.displayDialogAsync(url2, {height: 50, width: 50},
           function (asyncResult) {
               dialog.messageChild('hello from the parent', {targetOrigin: "*" })     
           });

messageChild 命令成功完成。

子对话框中的Javascript是:

Office.onReady().then(function() {
         Office.context.ui.addHandlerAsync(
             Office.EventType.DialogParentMessageReceived,
             onMessageFromParent);
         });
        
function onMessageFromParent(arg){
     console.log(arg.message)
     }

但是,消息“来自父母的问候”并未打印在控制台中。

相反,我在控制台中得到以下两次:

Tracking Prevention blocked access to storage for https://appsforoffice.microsoft.com/lib/1.1/hosted/office.js. [https://localhost:3000/commands.html?_host_Info=Outlook$Win32$16.02$en-US$$$$0]

我做错了什么?如何将消息传递到对话框?

【问题讨论】:

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


    【解决方案1】:

    当您调用 Office 对话框 API 打开对话框时,会返回一个 Dialog 对象。您需要从本地对话框变量的 asyncResult 中设置对话框对象。更多关于 messageChild 的信息可以在documentation here找到。

    var dialog;
    Office.context.ui.displayDialogAsync('https://myDomain/myDialog.html',
        function (asyncResult) {
            dialog = asyncResult.value;
            dialog.messageChild(...);
        }
    );
    

    【讨论】:

    • 感谢您的帮助。我现在收到错误TypeError: Office.context.ui.addHandlerAsync is not a function at c:\Users\User\Email domain checker\src\dialogbox\dialogbox.js:3:27。我没有正确加载对话框 API 吗?我还意识到我没有在 webpack.config.js 中引用 dialogbox.js 脚本。 script 是否有一些关于需要在哪里引用的文档?我并不完全清楚 Yeoman Generator 生成的 webpack.config.js 文件和其他一些文件是做什么的,以及我需要做什么才能使加载项工作。谢谢
    • 您可以使用此文档:docs.microsoft.com/en-us/office/dev/add-ins/reference/… 确定您的 Outlook 版本以及是否有支持的要求集。这里有关于如何使用对话框 API 的文档:docs.microsoft.com/en-us/office/dev/add-ins/develop/… 和示例加载项:docs.microsoft.com/en-us/office/dev/add-ins/develop/…
    猜你喜欢
    • 2011-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多