【问题标题】:Is there a way to trigger an action without a button click有没有办法在不点击按钮的情况下触发动作
【发布时间】:2019-07-16 05:12:19
【问题描述】:

我即将开发一个插件,它会自动从电子邮件中提取一些数据并修改我们数据库中的一些字段。然而,这种提取可能有点容易出错,因此我们希望在它发生时进行一层人工验证。

我们已经在 gmail 中执行此操作,当用户打开电子邮件并找到要提取的内容时,我们会显示确认弹出窗口,此功能深受客户欢迎。

我正计划使用该对话框,但它似乎触发了显示该框的操作需要附加到 ui 元素以供用户单击。

有没有什么方法可以在没有用户点击的情况下务实地触发一个动作?

【问题讨论】:

  • 那是基于 JS 还是基于 COM 的 Outlook 插件?
  • 是javascript

标签: outlook outlook-addin outlook-web-addins


【解决方案1】:

查看可用于 Outlook 加载项的可固定任务窗格,有关详细信息,请参阅 Implement a pinnable task pane in Outlook。在那里您可以实现ItemChanged 事件处理程序。事件处理程序应该接受一个参数,它是一个对象字面量。此对象的 type 属性将设置为 Office.EventType.ItemChanged。调用事件时,Office.context.mailbox.item 对象已更新以反映当前选定的项目。

Office.initialize = function (reason) {
  $(document).ready(function () {

    // Set up ItemChanged event
    Office.context.mailbox.addHandlerAsync(Office.EventType.ItemChanged, itemChanged);

    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);
}

【讨论】:

  • 所以基本上,如果他们打开了任务窗格,我可以监听项目更改事件,当它被触发时,我可以为该电子邮件运行我的逻辑,并在必要时显示一个弹出窗口......它一个合理的解决方法
  • 不幸的是,他们必须固定任务窗格才能使其正常工作。希望能够提供此功能,而无需用户使用不必要的固定窗格占用他们的屏幕空间。
  • 尤金在这里的回答是正确的。目前这是不可能的。 Pinnable 插件是唯一接近的东西,(有点)。我们在用户语音页面上跟踪 Outlook 加载项功能请求。请在此处添加您的请求。当我们进行规划过程时,会考虑用户语音的功能请求。 officespdev.uservoice.com/forums/224641-general/category/…
猜你喜欢
  • 2012-04-18
  • 2015-06-22
  • 1970-01-01
  • 2017-07-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-17
  • 2021-10-25
相关资源
最近更新 更多