附件提醒后 OnSend 触发两次

Posted

技术标签:

【中文标题】附件提醒后 OnSend 触发两次【英文标题】:OnSend fired twice after attachment reminder 【发布时间】:2018-01-11 08:27:47 【问题描述】:

在 Outlook Web 加载项中,我试图拦截发送电子邮件时触发的 OnSend 事件。

我在 GitHub 中使用了这个 example,它运行良好。

如果我在电子邮件正文中包含“附件”一词并单击“发送”按钮,OnSend 事件将被触发一次,并且弹出模式窗口会显示以下消息:

附件提醒

您可能忘记附加文件了。

带有发送不发送按钮。如果点击发送OnSend 事件会被触发两次:点击附件提醒中的Send 按钮后两次。我预计只有一个事件,例如第一个 Send

如何让OnSend事件在附件提醒后触发一次?

【问题讨论】:

【参考方案1】:

您不能 - 如果消息提交被取消,然后重新提交消息,则事件会再次触发。您可以拥有已处理的消息条目 id 列表 - 在 OnSend 触发时将 id 添加到该列表中,然后在下次再次触发事件时检查该消息是否在该列表中。

【讨论】:

如果我点击附件提醒中的发送按钮,OnSend 将触发 2 次(不计算第一个 OnSend 事件) 不是要处理这个问题,它是关于OnSend 被解雇两次的事实不是预期的行为。当我说两次时,这意味着从附件提醒中单击发送按钮后的 2 次,不包括预计只会触发一次的第一个 OnSend(附件提醒之前)。 如果您想修复它,您需要向 Microsoft 开一个支持案例。在 SO 上发布有关此问题的信息不会有任何作用。【参考方案2】:

这似乎是无意的行为,本质上是我们将研究修复的缺陷。 ItemSend 事件应该与忘记附件检测很好地交互操作,并且应该只为任何电子邮件引发一次,并且仅在发生忘记附件检测之后。与此同时,您需要想出一个解决方法。根据您要执行的操作,您可以使用custom properties API 设置一个属性,指示该消息已被处理以避免重复处理。

【讨论】:

以上是关于附件提醒后 OnSend 触发两次的主要内容,如果未能解决你的问题,请参考以下文章

两次尝试后触发Javascript

单击相同的绘图标记两次不会触发事件两次

PresentationButton 没有触发两次动作

qt 对slider一次拖动却触发了两次sliderRelease?

为 kendo ui Combobox 触发了两次更改事件

突变通过 react-adopt 触发两次