No puedo enviar información a mi cuadro de diálogo en mi complemento de Outlook. Aquí está el código Javascript en el padre:
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: "*" }) }); Que se completa con éxito en el comando messageChild .
El Javascript en el cuadro de diálogo secundario es:
Office.onReady().then(function() { Office.context.ui.addHandlerAsync( Office.EventType.DialogParentMessageReceived, onMessageFromParent); }); function onMessageFromParent(arg){ console.log(arg.message) }Sin embargo, el mensaje 'hola del padre' no se imprime en la consola.
En cambio, obtengo lo siguiente en la consola dos veces:
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]¿Qué estoy haciendo mal? ¿Cómo puedo pasar el mensaje al cuadro de diálogo?
Cuando llama a la API de diálogo de Office para abrir un cuadro de diálogo, se devuelve un objeto Dialog. Deberá configurar el objeto de diálogo desde asyncResult en su variable de diálogo local. Puede encontrar más información sobre messageChild en la documentación aquí .
var dialog; Office.context.ui.displayDialogAsync('https://myDomain/myDialog.html', function (asyncResult) { dialog = asyncResult.value; dialog.messageChild(...); } );