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
 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
![[:prosper youplaboum] [:prosper youplaboum]](https://forum-images.hardware.fr/images/perso/prosper youplaboum.gif) 
 
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
 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 
 ![[:cupra] [:cupra]](https://forum-images.hardware.fr/images/perso/cupra.gif) 
  
 
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
 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