Outlook加载项API是否支持事件侦听器?

问题描述 投票:1回答:2

我打算编写一个Outlook加载项,我想知道是否有办法收听事件,例如“发送按钮”。在实践中,我想在用户按下发送按钮时操纵身体,因此,甚至在发送电子邮件之前。

从我所看到的,唯一的方法是创建一个按钮,例如“操纵”,并在点击上附加一个事件。这是可行的,但是如果你每次发送电子邮件都必须这样做,那就太烦人了。

此外,Outlook如何运行加载项?在撰写模式中,如果我有:

Office.context.mailbox.item.body.getAsync

每当我在我的身体上输入一封新信件或发送信息时,这会运行吗?我有点困惑。

This可能略微重复。再次感谢。

javascript email outlook office365 outlook-web-addins
2个回答
2
投票

您无法在iFrame的父窗口(您的加载项所在的位置)的DOM元素上附加侦听器。因此,您无法破解Outlook Web Access按钮的行为。

值得注意的是,新的Office Web插件生成比旧的桌面插件更少侵入。实际上,以VSTO为例,人们可以访问整个Outlook对象模型,无论好坏。这是我在这个主题上写的a blog post

您描述的解决方案似乎是您想要的合适方式。此外,让我强调一点,web插件框架不允许您在未经用户同意的情况下更改电子邮件内容。

请记住,Office.js为您提供了与EWS API通信的可能性,这在Office.js API无法直接提供时非常有用。 See this link


0
投票

关于“每当我在我的身体上输入一封新信件或发送信息时,这会运行吗?”

通过我的实验,它将每隔几秒(接近~20秒)返回新的主体内容,即使您每秒调用Office.context.mailbox.item.body.getAsync也是如此。

我不知道为什么这个刷新间隔存在,它没有记录AFAIK,以及为什么它不会像VSTO加载项中那样在每个字母中刷新。

我发现实时刷新的唯一(奇怪)方法是用户按下任务窗格。

我想我们将不得不等待像excel js api events这样的东西。

© www.soinside.com 2019 - 2024. All rights reserved.