problème de menu dans une extension

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...
ren
Arias
Messages : 4
Inscription : 10 juin 2006, 14:15

problème de menu dans une extension

Message par ren »

Bonjour,
je viens de me lancer dans laprogrammation d'extension.
et je n'arrive pas à comprendre pourquoi mon extension ne fait rien de visible:
firefox reconnait l'extension pourtant il n'ajoute rien au menu outil:
je travaille dans le profile sous firefox 1.5.04
je ne pense pas qu'il y ait de problème dans chrome.manifest et install.rdf
( il reconnait le fichier.xul puisqu'il me mets des erreurs de syntaxe s'il y en a, la, il n'y en a pas apparamment)

je vous met le fichier content\bibi.xul:

Code : Tout sélectionner

<?xml version="1.0"?>
<overlay id="bibi" 
xmins="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

<script type="application/x-javascript" src="chrome://bibi/content/bibi.js">
</script>

 <menupopup id="menu_toolspopup">
      <menu id="bibi2" insertbefore="prefSep" label="bibi">
	       <menupopup id="bibi3">
			    <menuitem label="bibi2" oncommand="fonction();" /> 
		   </menupopup>
        </menu>
  </menupopup>
	
</overlay>

Je vous remiercie pour votre aide.

Message envoyé avec : Mozilla/5.0 (Windows; U; Win 9x 4.90; fr; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4
Dernière modification par ren le 10 juin 2006, 22:15, modifié 2 fois.
Goofy
Iguane
Messages : 593
Inscription : 23 juil. 2004, 22:39

Message par Goofy »

ben, pourquoi tu définis deux fois menupopup ?

Code : Tout sélectionner

 <menupopup id="bibi3"> 
et puis peut-être que ça devrait être

Code : Tout sélectionner

 menuitem
et non

Code : Tout sélectionner

menu
pour l'id.

(ça n'a peut-être rien à voir, je n'y connais pas grand-chose, c'est pour te faire patienter en attendant la réponse des geeks :lol: )

Exemple dans une extension où ça marche :

Code : Tout sélectionner

<menupopup id="menu_ToolsPopup">
            <menuitem id="cn_unplug_pop2" 
            label="&menuitem.unplug;" accesskey="&menuitem.u;" 
            insertafter="javascriptConsole"    
            oncommand="cnunplug();"></menuitem>
        </menupopup>


Message envoyé avec : Mozilla/5.0 (Windows; U; Win 9x 4.90; fr; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4
- Pensez global, faites des locales -

Image
Invité

Message par Invité »

Merci pour ta réponse
si j'utilise deux fois menupopup : le premier dans "outils" ou je crée le menu "bibi" avec <menu>, le deuxième dans le menu "bibi", enfin je pense.

j'ai essayé ton menu en changeant les label accesskey et oncommand mais il marche pas chez moi, je ne vois pas pourquoi. (j'avais déja essayé de reprendre des fichiers d'extension qui marche mais ca ne marche pas).


Message envoyé avec : Mozilla/5.0 (Windows; U; Win 9x 4.90; fr; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4
martin
Varan
Messages : 1074
Inscription : 21 janv. 2004, 16:23

Message par martin »

Montre nous comment tu déclares ton overlay dans chrome.manifest et dans contents.rdf du dossier de ce fichier.
ren
Arias
Messages : 4
Inscription : 10 juin 2006, 14:15

Message par ren »

content.rdf:

Code : Tout sélectionner

<?xml version="1.0"?> 
<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:chrome="http://www.mozilla.org/rdf/chrome#"> 
  <RDF:Seq about="urn:mozilla:package:root"> 
    <RDF:li resource="urn:mozilla:package:bibi"/> 
  </RDF:Seq> 
  <RDF:Description about="urn:mozilla:package:bibi" 
    chrome:displayName="bibi" 
    chrome:author="ren" 
    chrome:name="bibi" 
    chrome:extension="true" 
    chrome:description="essai"> 
  </RDF:Description> 
  <RDF:Seq about="urn:mozilla:overlays"> 
    <RDF:li resource="chrome://browser/content/browser.xul"/> 
  </RDF:Seq> 
  <RDF:Seq about="chrome://browser/content/browser.xul"> 
    <RDF:li>chrome://bibi/content/bibi.xul</RDF:li> 
  </RDF:Seq> 
</RDF:RDF>
chrome.manifest

Code : Tout sélectionner

content	bibi	chrome/content/
overlay	chrome://browser/content/browser.xul chrome://bibi/content/bibi.xul
Merci
Message envoyé avec : Mozilla/5.0 (Windows; U; Win 9x 4.90; fr; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4
martin
Varan
Messages : 1074
Inscription : 21 janv. 2004, 16:23

Message par martin »

Bon j'ai plus le temps de chercher plus pour l'instant, faut que j'y aille, mais voilà une première erreur :

Code : Tout sélectionner

<menupopup id="menu_ToolsPopup">
et non

Code : Tout sélectionner

<menupopup id="menu_toolspopup">
(sensible à la casse).
Je l'ai dans le DOM inspecteur, mais il est pas affiché...
Je regarderai plus tard ;) .
Et sinon, mais c'est peut être normal car possible (surtout en phase de codage), tu n'as pas déclaré ton extension dans un jar.
ren
Arias
Messages : 4
Inscription : 10 juin 2006, 14:15

Message par ren »

Merci pour la case (je ne savais pas) et de l'aide.

J'avais trouvé un tutoriel, j'ai essayé de le refaire pour tester mais ce n'était pas compatible au début, j'ai réussi refaire le install.rdf. ( Je suis déjà assez content d'avoir fait une première extension (sans content.rdf ni .js) qui marche.

Ensuite j'ai essayé de faire l'extension de ce post, j'ai donc repris le install.rdf et le chrome.manifest. (il y a surement un problème avec le content .rdf vu que install.rdf n'était pas compatible)

J'ai aussi essayé de mettre juste dans le content\ un fichier.xul (sans content.rdf ni .js) avec un code ressemblant à celui de Goofy, je pensais que ca devait marcher mais non. Voici le code :

Code : Tout sélectionner

<?xml version="1.0"?>
<overlay id="bibi" 
xmins="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
		
<menupopup id="menu_ToolsPopup"> 
            <menuitem id="cn_unplug_pop2" 
            label="bibi"
            insertafter="javascriptConsole"  />              
        </menupopup>
</overlay>
(mais je ne sais pas si c'est possible, d'ajouter un bouton qui fait rien à un menu)

A mon avis, le problème vient soit du content.rdf, soit de l'imbrication des menus dans bibi.xul, soit d'un problème de compatibilité,quelque part soit d'autre extension qui vienne géner la mise en place des menus,ou il faut que ce soit avec un .jar.
Merci


Message envoyé avec : Mozilla/5.0 (Windows; U; Win 9x 4.90; fr; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4
martin
Varan
Messages : 1074
Inscription : 21 janv. 2004, 16:23

Message par martin »

et la deuxième (et dernière) erreur :

Code : Tout sélectionner

<overlay id="bibi"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
et non

Code : Tout sélectionner

<overlay id="bibi"
xmins="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
xmlns et non xmins.

Sinon, malgré que je te l'ai demandé au cas, le content.rdf dans le dossier n'est plus nécessaire depuis firefox 1.5, on le place uniquement si on veut faire une extension compatible 1.0.x et 1.5. Le chrome.manifest le remplace.

Bon courage et bonne découverte ;) .
ren
Arias
Messages : 4
Inscription : 10 juin 2006, 14:15

Message par ren »

Merci beaucoup. j'ai compris pas mal de chose grâce à vous et ca marche :)

Message envoyé avec : Mozilla/5.0 (Windows; U; Win 9x 4.90; fr; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4
Répondre

Qui est en ligne ?

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