Comment ajouter la condition SI dans une fonction Javascript

mahdiweb Messages postés 11 Date d'inscription mardi 20 septembre 2022 Statut Membre Dernière intervention 26 octobre 2022 - Modifié le 3 oct. 2022 à 10:19
 moyenours - 20 oct. 2022 à 17:20

Bonjour,

j'essaie depuis la semaine dernière d'ajouter la condition SI mais je ne sais pas comment le faire si vous pouvez m'aider svp voici la fonction:

chrome.runtime.onMessage.addListener(
  function(request, sender) {
	let functions = {
	1: function () { alert(1); },
	2: function () { alert(2); },
	3: function () { alert(3); },
	4: function () { alert(4); },
	5: function () { alert(5); },
	6: function () { alert(6); },
	}
	functions[request.functionnum]();
});

Je veux que si la personne ne tape pas les bons codes un message s'affiche pour lui dire d'insérer le bon code. 


Windows / Chrome 91.0.4472.77

1 réponse

Salut,

plusieurs soucis selon moi:

ici .addEventListener n'a pas sa place voir ici:

https://www.w3schools.com/jsref/event_onmessage_sse.asp

D'ailleurs celà devrait vous afficher une erreur puisque les paramètres de addEventListener ne sont pas correctement remplis. Une erreur aussi dans votre objet JSON pour la valeur 6 il ne doit pas avoir de virgule à la fin de la ligne ce qui indiquera que c'est le dernier argument de l'objet. Avec une virgule le code attends un nouvel argument.

votre code lors de l'évenement .onMessage ne fait que créer une fonction il faudrait l'appliquer aussi ;)

D'ailleurs dans votre code nulle part les paramètres request et sender sont indiqués.

Quelque chose du genre:

function checkMessage(index, src){
let list_Functions = {
	1: function () { alert(1); },
	2: function () { alert(2); },
	3: function () { alert(3); },
	4: function () { alert(4); },
	5: function () { alert(5); },
	6: function () { alert(6); },
}
if(list_functions[index)!== null && list_functions[index)!=='undefined'){

console.log('valeur numérique du message = '+index)

//-- fait quelque chose

}else{

alert('erreur '+index+' n\'est pas définit.')

}

}

var source = new EventSource(une_URL_source);
source.onmessage = function(event) {
 checkMessage( event.data.functionnum , event.source )

//--changer éventuellement event.data.functionum selon d'où vient la valeur numérique et la forme de celle ci */


}
1

Ne pas confondre la fonction document.addEventListener() et la fonction runtime.onMessage.addListener() qui est spécifique au développement d'extension : https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onMessage

La variable list_Functions n'est pas un objet JSON et les virgules finales sont utiles pour facilement modifier les tableaux ou les objets littéraux : https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Trailing_commas

1