我想做一个雷鸟扩展。所以第一个问题是从哪里开始。你能指出我可以在其中插入代码的一些示例扩展吗?这将大大减少工作量。我假设我们将编写一些 javascript 文件以及一些用于编写扩展的配置文件。是这样写的吗?
也就是说,我想从扩展中调用类文件/jar 中的 Java 程序。扩展应该能够将收件箱中的特定电子邮件(带有所有标题)传递给 java 方法。
此外,我想从 java 方法返回一些值到我的扩展。
如何做到这一点?
我想做一个雷鸟扩展。所以第一个问题是从哪里开始。你能指出我可以在其中插入代码的一些示例扩展吗?这将大大减少工作量。我假设我们将编写一些 javascript 文件以及一些用于编写扩展的配置文件。是这样写的吗?
也就是说,我想从扩展中调用类文件/jar 中的 Java 程序。扩展应该能够将收件箱中的特定电子邮件(带有所有标题)传递给 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 构建的,但未来的系列将基于 XULRunner 2 构建。所以在未来,您需要使用扩展本身构建和发布 JavaXPCOM。
所以我的建议是,阅读扩展开发的文档和参考,看看你的 Java 代码是否可以使用提供的 Mozilla API 转换为 JavaScript。如果不可能,请尝试用 C++ 编写它,因为 Mozilla 内置了对 C++ XPCOM 组件的支持。鉴于提供了大量的 API,应该可以这样做。