Вызов метода Java из расширения Thunderbird - PullRequest
3 голосов
/ 19 сентября 2010

Я хочу сделать расширение Thunderbird.Итак, первый вопрос - с чего начать.Можете ли вы указать мне несколько примеров расширений, в которые я могу вставить свой код?Это значительно сократит усилия.Я предполагаю, что мы напишем некоторые файлы javascript вместе с некоторыми файлами конфигурации для написания расширения.Это запись?

Тем не менее, я хочу вызвать программу Java в файле класса / jar из расширения.Расширение должно иметь возможность передавать определенную электронную почту в папке входящих сообщений (со всеми заголовками) методу java.

Кроме того, я хочу вернуть некоторое значение из метода java моему расширению.

Как этого достичь?

1 Ответ

2 голосов
/ 19 сентября 2010

Написание расширения - это больше, чем написание некоторых файлов и конфигурации JS.В зависимости от того, что вы хотите сделать, вам нужно вызвать базовые API Mozilla XPCOM.У Mozilla есть отличная документация, ссылки и учебные пособия для начала разработки расширений на https://developer.mozilla.org/En.

. Что касается проблемы с Java, существует проект под названием JavaXPCOM , который предоставляет возможность доступа к программам Java.из XPCOM и наоборот.Таким образом, вам нужно следовать документации, предоставленной там, чтобы вызвать ваш код Java из JavaScript.Однако обратите внимание, что JavaXPCOM был включен в XULRunner вплоть до версии 1.9.2 и был удален в XULRunner 2. Серия Thunderbird 3 основана на XULRunner 1.9.2, но будущие серии будут основываться на XULRunner 2. Так что в будущемвам нужно будет собрать и поставить JavaXPCOM с самим вашим расширением.

Поэтому я предлагаю ознакомиться с документацией и справочником по разработке расширения и посмотреть, можно ли преобразовать ваш код Java в JavaScript с помощью API Mozilla.предоставлена.Если это невозможно, попробуйте написать его на C ++, так как Mozilla имеет встроенную поддержку компонентов C ++ XPCOM.Учитывая большое количество предоставляемых API, это должно быть возможно.

...