Mouse Gesture for Mozilla [simple normalement] - Programmation
Marsh Posté le 04-06-2002 à 15:20:29
up !
Marsh Posté le 04-06-2002 à 19:17:59
kel bide :-/
Marsh Posté le 04-06-2002 à 19:20:47
sisicaivrai a écrit a écrit : [code]addGesture("DRU", bundle.getString("g.ULB" ), "linkInTab("http://xyz");" ); |
mets-toi à la place de l'interpréteur de code. comment savoir où finit la string qui commence par "linkInTab... ?
il va chopper une string :
"linkInTab("
une erreur :
http://xyz
une deuxième string :
" );"
donc
addGesture("DRU", bundle.getString("g.ULB" ), "linkInTab(\"http://xyz\" );" );
ou
addGesture("DRU", bundle.getString("g.ULB" ), "linkInTab('http://xyz';" );
et si tu t'étonnes de faire un bide en balançant des centaines de ligne de code ...
Marsh Posté le 04-06-2002 à 19:31:44
je ne m'étonnes pas de faire un bide
de te pencher sur le probleme, mais ca ne marche pas
Marsh Posté le 05-06-2002 à 12:41:03
Marsh Posté le 09-06-2002 à 18:26:54
Marsh Posté le 09-06-2002 à 19:06:27
vas-tu nous donner des détails cette fois-ci ? qu'est censé faire le code, quelle partie as-tu écrite, quelle partie marche et quelle partie plante, etc. ?
et mieux encore, plutôt que de filer un pavé, filer un lien vers une page avec le code ?
Marsh Posté le 09-06-2002 à 19:23:07
youdontcare a écrit a écrit : vas-tu nous donner des détails cette fois-ci ? qu'est censé faire le code, quelle partie as-tu écrite, quelle partie marche et quelle partie plante, etc. ? et mieux encore, plutôt que de filer un pavé, filer un lien vers une page avec le code ? |
mais ce n'est pas mon code, c'est bien ca le probleme, c'est le code de mozgest,plugin pour mozilla, donc je n'en ai rien ecrit
toute la partie 'code' marche très bien, seulement avec ce qui est donné comme 'exemple' ben je ne sais pas faire ce que je veux
ce plugin serta avoir des raccourcis souris :U = up, D = down, L = left, R = right
donc par exemple, en faisant UD, ca reload
moi ce que je veux c ouvrir une nouvelle fenetre dans la tab avec par exemple DRU
Marsh Posté le 09-06-2002 à 20:59:20
j'ai installé la bestiole histoire de tester ...
DONC :
addGesture prend trois paramètres :
1. le code de la gesture
2. sa description
3. le code js qui s'éxécute lorsqu'elle est activée
un truc que tu aurais pu trouver en debuggant un minimum, c'est que la string de description vient d'un fichier appellé mozgest.properties . tu peux voir par exemple g.viewSiteCookies qui correspond à "View Cookies". (le fichier doit permettre la traduction).
en debuggant à nouveau, tu t'aperçois que ton addGesture plante si mozilla ne trouve pas de string de description. il faut donc la définir (au même endroit que les autres).
donc un petit exemple simple : lors d'un ULD, on affiche la date.
1/ on définit une nouvelle fonction dans gestimp.js :
function g_showDate()
{
alert(new Date);
}
2/ on définit sa description dans le fichier mozgest.properties à la suite des autres :
g.showDate=Affiche la date
3/ on définit le addGesture dans le fichier gestimp.js à la suite des autres :
addGesture("ULD", bundle.getString("g.showDate" ), "g_showDate();" );
et ça marche. (après un reload du browser). pour ton histoire de tab, tu suis la même démarche sauf qu'au lieu de new Date() tu appelles linkInTab("http://debuggeunpeulaprochainefois.merci" );.
Marsh Posté le 09-06-2002 à 21:04:29
youdontcare a écrit a écrit : j'ai installé la bestiole histoire de tester ... DONC : addGesture prend trois paramètres : 1. le code de la gesture 2. sa description 3. le code js qui s'éxécute lorsqu'elle est activée un truc que tu aurais pu trouver en debuggant un minimum, c'est que la string de description vient d'un fichier appellé mozgest.properties . tu peux voir par exemple g.viewSiteCookies qui correspond à "View Cookies". (le fichier doit permettre la traduction). en debuggant à nouveau, tu t'aperçois que ton addGesture plante si mozilla ne trouve pas de string de description. il faut donc la définir (au même endroit que les autres). donc un petit exemple simple : lors d'un ULD, on affiche la date. 1/ on définit une nouvelle fonction dans gestimp.js : function g_showDate() { alert(new Date); } 2/ on définit sa description dans le fichier mozgest.properties à la suite des autres : g.showDate=Affiche la date 3/ on définit le addGesture dans le fichier gestimp.js à la suite des autres : addGesture("ULD", bundle.getString("g.showDate" ), "g_showDate();" ); et ça marche. (après un reload du browser). pour ton histoire de tab, tu suis la même démarche sauf qu'au lieu de new Date() tu appelles linkInTab("http://debuggeunpeulaprochainefois.merci" );. |
merci
j'aurais du préciser que je ne connais RIEN en javascript, car a voir le ton de ta réponse (complete je t'en remercie) tu as l'air de considérer que j'aurais pu m'en sortir seul
ben non, sinon je n'aurais pas posté de question
ca sert a ca un forum
donc
Marsh Posté le 09-06-2002 à 21:11:57
sisicaivrai a écrit a écrit : j'aurais du préciser que je ne connais RIEN en javascript |
effectivement.
ça m'aurait évité d'avoir envie de t'étrangler
Marsh Posté le 09-06-2002 à 21:20:08
en plus ils ne parlent meme pas de ce fichier properties sur leur site...
Bon là j'ai appliqué à la lettre tes instructions pour mon probleme, mais ca ne marchait pas alors j'ai essayé ton truc avec la date, meme resultat
je dois etre trop manche
Marsh Posté le 09-06-2002 à 21:26:29
...
la fin du fichier mozgest.properties doit ressembler à :
g.halveImageSize=Halve Image Size
g.hideImage=Hide Image
g.w3cValidate=Validate this document
g.linksInWindows=Open Links in Windows
g.linksInTabs=Open Links in Tabs
g.openLink=Ouvre un lien
le fichier gestimp.js doit ressembler à :
addGesture("D", bundle.getString("g.openNewDocument" ), "openNewDocument();" );
addGesture("DU", bundle.getString("g.duplicateWindow" ), "duplicateWindow()" );
addGesture("ULU", bundle.getString("g.upDir" ), "upDir();" );
addGesture("ULD", bundle.getString("g.openLink" ), "g_openLink();" );
puis à la fin du fichier :
function g_openLink()
{
linkInTab("http://forum.hardware.fr" );
}
si tout ça ne marche pas, tu rajoutes un alert() de debug dans gestures.js :
function addGesture(gestCode, descString, evalCode){
alert(gestCode + ' ' + descString + ' ' + evalCode);
gesturesTable[gestCode]=new Array(descString, evalCode);
}
histoire de voir à partir de où ça plante.
et avant de tester ces modifs, tu dois fermer mozilla puis le rouvrir.
Marsh Posté le 09-06-2002 à 21:35:31
oua merci, ca marche
mea culpa, j'avais pas fermé le quicklaunch de mozilla
par contre avec ton truc pour avoir les 'alert', du coup j'en avais une a chaque fonction gesture
C super, vraiment MERCI d'avoir passé du temps là dessus
Marsh Posté le 03-06-2002 à 21:59:54
et j'aimerais avoir un raccourci pour ouvrir une url particulière dans la tab, donc g recopié :
addGesture("DUD", bundle.getString("g.duplicateTab" ), "linkInTab(window._content.document.location);" );
en :
addGesture("DRU", bundle.getString("g.ULB" ), "linkInTab("http://xyz" );" );
mais ca ne marche pas
des idées ?
Message édité par sisicaivrai le 06-03-2002 à 22:23:54
---------------
blog dessins + srtCleaner | Ricoh R6 | K20d | MK-wii 5112-3549-9484 | en phase de déblablatisation depuis le 26 avril 2002 | Belgian Connection