Page 1 sur 1

Bloqué sur le développement de mon extension

Publié : 02 juil. 2009, 11:45
par Anthodev
Bonjour à tous,

Je suis actuellement en train de développez une extension pour Firefox. Etant assez novice dans ce type de développement (je fais essentiellement du C#, c'est ma première extension pour Firefox) ça allait bien pour le moment.

Pour apprendre j'ai regardé la doc de Mozilla et quelques addons pour comprendre la logique de développement.

Il y a 3 jours j'ai fais une mise à jour mineur du code sur un de mes scripts javascript. Donc je désinstalle/réinstalle l'addon, et il ne se lance plus, après 3 lectures de l'ensemble du code je repère 2-3 points-virgule qui ont sautés suite au passage en format Windows des fichiers et du passage de l'ANSI en UTF-8 (oui j'avais oublié de le faire ^^) mais mon addon se lance toujours pas.

Ensuite j'ai l'idée de regarder la console d'erreur de Firefox (3.5) et il me sort qu'il n'arrive pas à "reconnaitre" mon fichier chrome.manifest alors que j'y ai pas touché depuis 2 semaines et que l'addon se lançait avant:

Voici le code de mon chrome.manifest :

Code : Tout sélectionner

overlay		chrome://browser/content/browser.xul    chrome://knowman/content/overlay.xul
content		knowman				                            chrome/content/
skin		knowman					classic/1.0	    chrome/skin/
locale		knowman					en-US		    chrome/locale/en-US/
style		chrome://global/content/customizeToolbar.xul	chrome://knowman/skin/overlay.css
Bref je ne vois pas où est le problème, tous les fichiers sont présents dans les lieux indiqués et ça fait 2 jours que je tourne en rond.

Une idée ?

Merci :)

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 6.0; fr; rv:1.9.1) Gecko/20090624 Firefox/3.5 (.NET CLR 3.5.30729)

Publié : 02 juil. 2009, 13:16
par martin
le chrome.manifest (tu l'as bien nommé ainsi ?) me semble bon...

Pour être sur, tu dois avoir, dans le dossier "extensions" situé dans le dossier du profil où l'extension est installée, l'arborescence suivante (c'est celle qui correspond à ton chrome.manifest) :

Code : Tout sélectionner

id_de_ton_extension_knowman/
        content/
                overlay.xul 
        skin/
                overlay.css
        locale/
                en-US/
sinon, pense à régler ton profil avec les préférences citées sur cette page, elles permettent d'avoir plus d'info, dans la console d'erreur (quelle est le message exact d'ailleurs ?).

Tu peux essayer aussi d'utiliser l'extension Chrome List, elle te permettra de vérifier si ton chrome.manifest est bien pris en compte.

Si rien ne marche, essaye de créer un nouveau profile, l'actuel est peut être corrompu...

Publié : 02 juil. 2009, 13:43
par Anthodev
Merci de ton aide, l'arborescence est bonne et voici l'erreur que j'ai :
Avertissement : Warning: Ignoring unrecognized chrome manifest instruction.
Fichier Source : file:///C:/Users/*****.*****/AppData/Roaming/Mozilla/Firefox/Profiles/gzagdtm3.default/extensions/%7B78a4d295-b482-4eb5-ae8a-f7a9c1dd4ef7%7D/chrome.manifest
Ligne : 1
Sinon l'addon est bien installé mais il refuse de se lancer :(

Edit : je vois mes fichiers dans Chrome List, donc je ne comprends plus rien. Et c'est pas à cause du profil, j'ai déjà testé avec un autre

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 6.0; fr; rv:1.9.1) Gecko/20090624 Firefox/3.5 (.NET CLR 3.5.30729)

Publié : 02 juil. 2009, 14:06
par martin
A tout hasard, tu utilises quoi comme éditeur texte ?

Comme tu dis que ces problèmes sont survenus suite à une conversion en UTF-8, je me demande si ton fichier n'a pas un BOM (3 caractères invisibles, facultatifs, en tête de fichier pour indiquer qu'il est en UTF-8), ce qui, il me semble, pose parfois des problèmes. Essaye de voir dans ton éditeur si il y a des réglages à ce niveau.
Sinon, essaye de reccréer ce fichier, avec Komodo Edit (super!), scite (en précisant encoding UTF-8, mais sans BOM), ou pspad (me rappelle plus comment on le règle), ou notepad++.

Publié : 02 juil. 2009, 14:10
par Anthodev
J'utilise Notepad++

Par contre il y a peut être le BOM, je vais testé en mettant UTF-8 sans BOM dans N++

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 6.0; fr; rv:1.9.1) Gecko/20090624 Firefox/3.5 (.NET CLR 3.5.30729)

Publié : 02 juil. 2009, 14:21
par Anthodev
Merci beaucoup ça refonctionne maintenant :D , tu me sauve la vie ^^

Par contre j'ai juste un dernier soucis, mon addon fonctionne bien en anglais par contre que je fais le fichier de langue française, l'addon fonctionne à moitié, il reconnais certaines fonctions mais pas d'autres (comme selectionner un cadre plus grand mais il est capable de me sortir tout le code de la page que j'appuie sur la touche approprié).

En y regardant de plus près, j'ai traduis en partis l'application (j'avais copié-collé le dossier en-US) et j'ai changé quelques textes dans les fichiers knowman.properties et knowman.dtd et ce ne sont que les textes qui sont restés en anglais qui fonctionnent mais celles en français ont l'air d'être ignoré. (les fichiers du dossier sont en UTF8 sans BOM ^^)

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 6.0; fr; rv:1.9.1) Gecko/20090624 Firefox/3.5 (.NET CLR 3.5.30729)

Publié : 02 juil. 2009, 15:38
par martin
tu as bien rajouté la ligne suivante dans ton chrome.manifest ? :

Code : Tout sélectionner

locale      knowman               fr-FR          chrome/locale/fr-FR/ 
et ton arborescence doit maintenant être :

Code : Tout sélectionner

id_de_ton_extension_knowman/
        content/
                overlay.xul
        skin/
                overlay.css
        locale/
                en-US/
                fr-FR/
et il te faut redémarrer Firefox pour que que le chrome.manifest soit pris en compte.

Publié : 02 juil. 2009, 15:51
par Anthodev
Oui oui je l'ai fais, j'ai bien une partie de l'addon qui est traduit mais cette traduction désactive les commandes que j'ai inséré alors que ça fonctionne en anglais (par exemple la touche "H" pour afficher une aide, fonctionne bien quand l'addon est anglais mais bug que j'ai traduis la chaine de caractère "Help" par "Aide").

J'ai bien les deux dossiers différents avec 2 fichiers chacun, avec le même nom dans chaque dossier (juste l'extension qui change, un avec *.dtd et un avec *.properties).

C'est pour cela que je trouve se problème bizarre.

EDIT : Ah ouais, comment je fais pour envoyer une variable d'un script javascript dans une fenêtre de dialogue firefox ? (dans un champs texte par exemple)

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 6.0; fr; rv:1.9.1) Gecko/20090624 Firefox/3.5 (.NET CLR 3.5.30729)

Publié : 02 juil. 2009, 16:53
par Pastisman
Bonjour,

Comment est défini le mnémonique H pour Help ? Ca devient peut-être automatiquement A pour Aide non ?
Sinon pour faire qu'un champ texte reçoive ta variable c'est peut-être element.setAttribute( "label", var ) en ayant récupéré l'élément avec un getElementById auparavant.

bonne chance.

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.2; fr; rv:1.9.1) Gecko/20090624 Firefox/3.5

Publié : 02 juil. 2009, 17:11
par Anthodev
C'est moi qui ai fait mon boulet lors du codage, en fait je compare les chaine de caractères entre le nom de la commande et le texte que j'ai mis dans mes fichiers de langue -_-'

Et je vais tester pour afficher les variables mais j'avais fait un truc similaire mais ça n'a pas l'air de passer

Publié : 02 juil. 2009, 17:34
par nico@nc
Tout est bien traduit en français ? Sinon il faut remplir les .dtd et .properties avec de l'anglais.

Publié : 03 juil. 2009, 15:27
par Anthodev
Il faut bien mettre ce qu'il y a à droite du "=" en français non ? ^^

Publié : 07 juil. 2009, 12:29
par Anthodev
Bonjour ^^,

Désolé mais ça ne marche pas le setAttribute pour afficher les valeurs dans ma boite de dialogue :(

Pourtant les valeurs ne sont pas "null", j'arrive à les afficher dans une fenêtre d'alert mais pas sur la boite elle-même...