Écrire une extension qui affiche la prononciation d'un mot

Vous vous penchez sur le développement d'applications ou d'extensions pour Mozilla ? C'est alors vers ce forum que se dirigeront naturellement vos requêtes...

Modérateur : chBok

Répondre
_Fractal_
Salamandre
Messages : 23
Enregistré le : 23 mars 2008, 23:51

Écrire une extension qui affiche la prononciation d'un mot

Message par _Fractal_ » 01 juin 2009, 03:38

Bonjour :)

J'aimerais écrire une petite extension pour Firefox qui fonctionnerait de la façon suivante (à supposer que le navigateur soit ouvert sur une page web écrite en anglais) :

Lorsque la touche Maj est enfoncée et que la souris est au dessus d'un mot :

- rechercher le mot sur lequel est la souris sur le wiktionnaire anglais (c'est à dire aller à la page http://en.wiktionary.org/wiki/*mot*)
- extraire de cette page le premier span de classe IPA
- rajouter un tooltip au mot sous la souris, le contenu du tooltip étant le contenu de la balise span trouvée précédemment (par exemple en remplaçant le mot par <span id="pron_IPA" title="*prononciation*">*mot*</span>)
- supprimer un éventuel précédent tooltip, pour ne pas encombrer la page de span un peu partout

Ainsi, en appuyant sur la touche Maj, et en posant la souris sur un mot, la prononciation de ce mot s'affiche en info-bulle.

Je ne connais pas du tout XUL, mais un petit peu Javascript, CSS et XHTML.

Pour l'instant j'ai essayé de voir si ce n'était pas possible de l'écrire uniquement en Javascript (puisque étant donné qu'il n'y a pas d'interface, le Javascript me semble suffire), mais je n'arrive pas à extraire le mot sur lequel la souris est, ni à charger une autre page web en interne (pour utiliser ensuite wikt.getElementsByTagName, etc.)

Merci de votre aide :)

Fractal ;)

Message envoyé avec : Mozilla/5.0 (X11; U; Linux x86_64; fr; rv:1.9.0.10) Gecko/2009042523 Ubuntu/9.04 (jaunty) Firefox/3.0.10

Invité

Message par Invité » 01 juin 2009, 12:38

J'ai réussi à faire en sorte de récupérer le code d'une page web distante :

Code : Tout sélectionner

<?xml version="1.0"?>
<overlay id="sample" 
         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
 <script type="text/javascript">
   function sayword(word)
   {
      var wikt = 'http://en.wiktionary.org/wiki/' + word;
      
      var req = new XMLHttpRequest();  
      req.open('GET', wikt, true);
      req.onreadystatechange = function (aEvt)
      {  
         if (req.readyState == 4 && req.status == 200)
         {  
            reg = new RegExp('<span class="IPA">\/([^<]*)\/<\/span>');
            alert(reg.exec(req.responseText)[1]);
         }
      };  
      req.send(null);  
      
   };
 </script>
 <statusbar id="status-bar">
  <statusbarpanel id="my-panel" label="Test" onclick="sayword('writing');"/>
 </statusbar>
</overlay>
(la page étant en html, req.responseXML ne fonctionne pas, j'ai dû passer par une expression régulière)

Actuellement, cela affiche le mot « Test » dans la barre d'état, et nous donne la prononciation du mot « writing » dans une 'alert' lorsque l'on clique sur « Test ».

Maintenant, il faut que j'arrive à récupérer le mot sur lequel la souris est. Quelqu'un a une idée de comment faire?

Message envoyé avec : Mozilla/5.0 (X11; U; Linux x86_64; fr; rv:1.9.0.10) Gecko/2009042523 Ubuntu/9.04 (jaunty) Firefox/3.0.10

_Fractal_
Salamandre
Messages : 23
Enregistré le : 23 mars 2008, 23:51

Message par _Fractal_ » 01 juin 2009, 12:39

(le message au dessus est de moi, j'avais oublié de me connecter :oops: )

Fractal ;)

Message envoyé avec : Mozilla/5.0 (X11; U; Linux x86_64; fr; rv:1.9.0.10) Gecko/2009042523 Ubuntu/9.04 (jaunty) Firefox/3.0.10

Répondre

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité