Estoy tratando de probar una simple prueba de impresión de console.log cuando paso de un correo electrónico a otro en Outlook. Estoy siguiendo las instrucciones de Microsoft aquí: https://docs.microsoft.com/en-us/office/dev/add-ins/outlook/pinnable-taskpane#handling-ui-updates-based-on-currently-selected -mensaje
Mi archivo de manifiesto ya admite la fijación y uso la fijación en todos mis proyectos de complementos de Outlook.
Seguí este código de Microsoft, pero parece que no hace nada en la consola del desarrollador:
function itemChanged(eventArgs) { // Update UI based on the new current item UpdateTaskPaneUI(Office.context.mailbox.item); } // Example implementation function UpdateTaskPaneUI(item) { // Assuming that item is always a read item (instead of a compose item). if (item != null) console.log(item.subject); } Office.initialize = function (reason) { $(document).ready(function () { // Set up ItemChanged event Office.context.mailbox.addHandlerAsync(Office.EventType.ItemChanged, itemChanged); UpdateTaskPaneUI(Office.context.mailbox.item); }); };Supuse que iba a recibir el asunto del correo electrónico en el que estaba resaltado en Outlook, pero no pasó nada. También hice doble clic en un correo electrónico para ver si el evento se disparó solo porque el correo electrónico estaba en su propia ventana y aún no sucedió nada.
Ejecuto Microsoft® Outlook® para Microsoft 365 MSO (versión 2111 compilación 16.0.14701.20254) de 64 bits
Pude hacerlo funcionar. Primero estaba probando en la consola de la herramienta de desarrollo, así que supuse que habría funcionado, pero me estaba causando errores. En el momento en que probé el código en JavaScript para el complemento de Outlook, comenzó a funcionar:
Office.onReady((info) => { $(document).ready(function () { function itemChanged(eventArgs) { // Update UI based on the new current item UpdateTaskPaneUI(Office.context.mailbox.item); } // Example implementation function UpdateTaskPaneUI(item) { // Assuming that item is always a read item (instead of a compose item). if (item != null) console.log(item.subject); } // Set up ItemChanged event Office.context.mailbox.addHandlerAsync(Office.EventType.ItemChanged, itemChanged); UpdateTaskPaneUI(Office.context.mailbox.item); })