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/

相关文章:

javascript - Kendo UI时间解析和 "Hmm"格式

css - 使用 userChrome.css 修改 Mozilla Thunderbird-68 按钮

javascript - 获取 Thunderbird 附件的名称

firefox-addon - Thunderbird 扩展控制台日志记录

javascript - 如何在 Thunderbird 扩展的其他模块中使用原始 jQuery 库

javascript - 始终显示 ChartJS 自定义工具提示

javascript - 将 Ruby 正则表达式转换为 JavaScript

javascript - side el 的嵌套 id 中的 Backbone 渲染模板

仅适用于本地开发人员的 PHP、postfix、sendmail、thunderbird

html - HTML 签名和 outlook 2010 的主要问题