2010-09-19 21 views
2

Je souhaite créer une extension thunderbird. Donc, la première question est de savoir par où commencer. Pouvez-vous me montrer quelques exemples d'extensions dans lesquelles je peux brancher mon code? Cela réduira considérablement l'effort. Je présume ce que nous écririons quelques fichiers javascript avec quelques fichiers de configuration pour écrire une extension. Est-ce écrire? Cela dit, je veux appeler un programme Java dans un fichier/jar de classe à partir de l'extension. L'extension devrait pouvoir passer un email spécifique dans la boîte de réception (avec tous les en-têtes) à la méthode java.Invoquer une méthode java à partir d'une extension Thunderbird

En outre, je veux retourner une valeur de la méthode java à mon extension.

Comment cela peut-il être réalisé?

Répondre

2

L'écriture d'une extension est plus que l'écriture de certains fichiers et de la configuration JS. En fonction de ce que vous voulez faire, vous devrez appeler les API sous-jacentes de Mozilla XPCOM. Mozilla a de la documentation, des références et des tutoriels pour commencer le développement d'extensions au https://developer.mozilla.org/En.

En arrivant au problème Java, il existe un projet appelé JavaXPCOM qui permettait d'accéder aux programmes Java à partir de XPCOM et vice-versa. Vous devez donc suivre la documentation fournie pour appeler votre code Java depuis JavaScript. Notez cependant que JavaXPCOM a été inclus dans XULRunner jusqu'à la version 1.9.2 et qu'il a été supprimé dans XULRunner 2. La série Thunderbird 3 est construite sur XULRunner 1.9.2, mais la future série sera construite sur XULRunner 2. Donc à l'avenir, vous aurez besoin de construire et d'expédier JavaXPCOM avec votre extension elle-même. Donc, ma suggestion est, passez par la documentation et la référence pour le développement de l'extension et voir si votre code Java peut être traduit en JavaScript en utilisant les API Mozilla fournies. Si ce n'est pas possible, essayez de l'écrire en C++ car Mozilla prend en charge les composants C++ XPCOM. Étant donné le grand nombre d'API fournies, il devrait être possible de le faire.