java - 从 Thunderbird 扩展调用 java 方法

标签 java javascript thunderbird xpi thunderbird-addon

我想做一个雷鸟扩展。所以第一个问题是从哪里开始。你能给我一些示例扩展,我可以在其中插入我的代码吗?这将大大减少工作量。我假设我们将编写一些 javascript 文件以及一些用于编写扩展的配置文件。那是写吗?

就是说,我想从扩展中调用类文件/jar 中的 Java 程序。该扩展应该能够将收件箱中的特定电子邮件(包含所有 header )传递给 java 方法。

此外,我想从 java 方法返回一些值给我的扩展。

如何实现?

最佳答案

写一个扩展不仅仅是写一些JS文件和配置。根据您想要执行的操作,您需要调用底层的 Mozilla XPCOM API。 Mozilla 在 https://developer.mozilla.org/En 上有一些很棒的文档、引用资料和教程,可帮助您开始扩展开发。 .

谈到 Java 问题,有一个名为 JavaXPCOM 的项目它提供了从 XPCOM 访问 Java 程序的能力,反之亦然。因此,您需要按照那里提供的文档从 JavaScript 调用 Java 代码。但是请注意,JavaXPCOM 包含在 XULRunner 1.9.2 版本中,并已在 XULRunner 2 中删除。Thunderbird 3 系列基于 XULRunner 1.9.2,但 future 的系列将基于 XULRunner 2。所以在未来,您需要使用您的扩展本身来构建和发布 JavaXPCOM。

所以我的建议是,阅读扩展开发的文档和引用资料,看看您的 Java 代码是否可以使用提供的 Mozilla API 转换为 JavaScript。如果不可能,请尝试用 C++ 编写它,因为 Mozilla 内置了对 C++ XPCOM 组件的支持。鉴于提供的大量 API,应该可以这样做。

关于java - 从 Thunderbird 扩展调用 java 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3744629/

相关文章:

exchange-server - Thunderbird EWS 提供商共享文件夹 ID

java - 在java中将字符串更改为驼峰式,同时包含下划线和数字

java - 字符串/字节效率和内存行为

java - 使用 Hibernate Criteria 的特定行的索引

java - 如何在 Spring 中定义多个 sessionfactory 实例?

javascript - DYMO LabelWriter 获取打印回调

javascript - 为所有图像设置相同的高度

javascript - 使用 JavaScript 缩放每个图像

delphi - Thunderbird 是否始终作为 MAPI 邮件客户端工作?

c - 读出 Thunderbird 未读邮件? (Linux、终端)