Outlook监听插件中,点击通知消息超链接能否调用JS函数?
解决Office通知消息点击触发自定义JS函数的问题
要实现仅点击通知中的「Show Addin」链接时调用指定JS函数,需要调整通知消息的动作配置,具体操作如下:
核心修改点
- 将
actionType从ShowTaskPane改为ExecuteFunction:ShowTaskPane仅用于打开预设任务窗格,而ExecuteFunction是专门触发自定义JavaScript函数的动作类型。 - 添加
functionName字段:指定点击链接后要调用的函数名称。 - 确保
contextData为合法JSON字符串:若需传递参数,需避免语法错误。
修改后的代码示例
// 定义点击链接后执行的自定义函数 function handleShowAddinClick(event) { // 编写你的业务逻辑 console.log("通知链接已点击", event.contextData); // 示例:打开自定义弹窗或任务窗格 Office.context.ui.displayDialogAsync('https://your-addin-page-url', { height: 60, width: 80 }); } var criteriaChangeMessage = { type: Office.MailboxEnums.ItemNotificationMessageType.InsightMessage, message: "会议条件已发生变更。", icon: "Icon.80x80", actions: [ { actionText: "Show Addin", actionType: Office.MailboxEnums.ActionType.ExecuteFunction, functionName: "handleShowAddinClick", // 关联自定义函数 contextData: '{"criteria": "updated"}' // 可选:传递自定义参数 }, ], }; Office.context.mailbox.item.notificationMessages.replaceAsync("action", criteriaChangeMessage);
注意事项
- 自定义函数(如
handleShowAddinClick)需处于Office可访问的作用域,建议放在全局作用域或Office.initialize回调内。 - 若需打开任务窗格,可在自定义函数中通过
Office.context.ui.displayDialogAsync或Office.context.mailbox.item.displayFormPageAsync等API实现,完全控制点击后的行为。
内容的提问来源于stack exchange,提问作者user19568803
相关产品推荐
相关产品推荐

