javascript - 用于查看消息的 ThunderBird 事件

标签 javascript thunderbird thunderbird-addon

我正在尝试在消息显示在 Thunderbird 的主窗口中之前对其进行修改。我好像找不到 1) 打开/查看新消息时会触发的事件 2) 修改消息显示内容的方法。

我相信我需要 chrome://messenger/content/messenger.xul 叠加层,并且可以使用如下监听器:

window.addEventListener( "SOME MAGIC HERE", modify_message_handler, true );

但我不确定该事件是什么,以及我将获得什么对象(消息标题?)以及修改显示内容的难易程度。

所以问题是:

  • 我有正确的叠加层吗?
  • 这可以通过事件来完成吗?如果不是,怎么办?
  • 如果需要,需要什么事件,传递什么对象?

最佳答案

如果您想要的是类似于在每条消息上运行的 Greasemonkey 脚本的东西,您应该:

  1. 等待窗口load事件。
  2. 使用 document.getElementById("messagepane") 检索消息 Pane 对象。
  3. 将您的处理程序绑定(bind)到消息 Pane 的 DOMContentLoaded 事件,或类似的事件,如 load,具体取决于您希望何时调用您的处理程序。 DOMContentLoaded 会给你一个 Greasemonkey 风格的行为。
  4. 在事件处理程序中,event.originalTarget 是显示消息对应的文档。您可以在此处应用所有常用的 DOM 修改技术。

有关详细信息,请参阅 this example来自文档。

关于javascript - 用于查看消息的 ThunderBird 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11370903/

相关文章:

c# - 通过 C# 通过 Thunderbird 一次发送多封电子邮件

javascript - 为什么这个 JavaScript 函数会停止执行?

java - 从 Thunderbird 扩展调用 java 方法

JavaScript .map 未在 React 中渲染 chrome.topSites

javascript - 如何只在所有AJAX调用完成后才执行?

javascript - 使用 Raphael JS 拖放 SVG

c# - 如何在 JavaScript 脚本标记中使用 Razor for 循环?

linux - Centos 运行 thunderbird 报错

javascript - 在 Thunderbird 扩展中获取选定的消息数据

thunderbird - 将当前的电子邮件从Thunderbird导出到外部进程