Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/12/2011, 23h11   #1
Membre à l'essai
 
Inscription : juin 2006
Messages : 95
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 95
Points : 24
Points : 24
Par défaut Création extension Thunderbird - création mail à partir d'un assistant

Bonjour à tous,
J'allais à la base poster ce sujet dans le forum "Thunderbird" dans la mesure où je n'ai pas trouvé de forum "XUL", mais j'ai reçu comme consigne de poster dans javascript, donc je m'exécute!

Voilà mon souci: je voudrais créer un courriel à partir d'un assistant. J'arrive à créer un assistant, j'arrive à créer le mail à l'issue de l'assistant, mais je n'arrive pas à éditer le mail avant que la fenêtre ne s'ouvre. J'ai cherché durant des jours, et ce qui se rapproche le plus, c'est ça: https://developer.mozilla.org/en/Ext...se_New_Message

Je pense que la clé est là, mais je ne comprends pas comment utiliser ce code... J'ai mis ça:

Code :
window.addEventListener( "compose-window-init", prep_mail(), true );
Avec la fonction définie comme ceci ('prep_mail' s'affiche bien, au lancement du wizard, mais pas 'prep_mail2'...):

Code :
1
2
3
4
5
function prep_mail() {
    alert('prep_mail');
    gMsgCompose.RegisterStateListener(myStateListener);
    alert('prep_mail2');
}
Voilà la fonction qui est déclenchée dès que le wizard est terminé (ça ouvre bien un nouveau mail):

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
function envoi_mail(id) {
    var sURL="mailto:test@test.com?subject=test";  
 
      var msgComposeService=  
        Components.classes["@mozilla.org/messengercompose;1"]  
        .getService(Components.interfaces.nsIMsgComposeService);  
 
      // make the URI  
      var ioService =  
        Components.classes["@mozilla.org/network/io-service;1"]  
          .getService(Components.interfaces.nsIIOService);  
 
      aURI = ioService.newURI(sURL, null, null);  
 
      // open new message  
      nouveau_mail = msgComposeService.OpenComposeWindowWithURI (null, aURI); 
 
 
    return true;
}

Voilà, si quelqu'un peut m'éclairer, ce serait sympathique...
Bonne soirée!


Mots clés: wizard, plug-in, thunderbird
Cesar9114 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2011, 10h25   #2
Expert Confirmé
 
Avatar de emmanuel.remy
 
Emmanuel REMY
Inscription : novembre 2005
Messages : 2 844
Détails du profil
Informations personnelles :
Nom : Emmanuel REMY
Âge : 43

Informations forums :
Inscription : novembre 2005
Messages : 2 844
Points : 3 589
Points : 3 589
Par défaut Focntion de callback

Salut,

Remplace
Code :
window.addEventListener( "compose-window-init", prep_mail(), true );
par
Code :
window.addEventListener( "compose-window-init", prep_mail, true );
car dans ton code tu n'enregistres pas une fonction de callback, tu l'exécutes

ERE
__________________
Quand une tête pense seule, elle devient folle.
emmanuel.remy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2011, 09h04   #3
Membre à l'essai
 
Inscription : juin 2006
Messages : 95
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 95
Points : 24
Points : 24
Salut,
Si je fais ça, mon alerte "prep_mail" ne s'affiche pas, me laissant penser que la fonction n'est pas exécutée.
Cesar9114 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2011, 11h28   #4
Expert Confirmé
 
Avatar de emmanuel.remy
 
Emmanuel REMY
Inscription : novembre 2005
Messages : 2 844
Détails du profil
Informations personnelles :
Nom : Emmanuel REMY
Âge : 43

Informations forums :
Inscription : novembre 2005
Messages : 2 844
Points : 3 589
Points : 3 589
Salut,

Si ta fonction n'est pas exécutée, c'est peut-être (sûrement) que ton event "compose-window-init" n'est pas déclenché. Est ce le bon ?


ERE
__________________
Quand une tête pense seule, elle devient folle.
emmanuel.remy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/01/2012, 00h10   #5
Membre à l'essai
 
Inscription : juin 2006
Messages : 95
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 95
Points : 24
Points : 24
Ma fonction est exécutée (cf. le message d'alerte qui s'affiche), mais pas intégralement.
Cesar9114 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h57.


 
 
 
 
Partenaires

Hébergement Web