De tous les bugs que j'ai eu en javascript celui-ci est de loin le plus étrange que j'ai eu ... d'autant plus qu'il ne se passait que sur Opéra.
var statusT = xml.getElementsByTagName("status")[0].firstChild.data; // statusT = 200
alert (statusT); // Ceci alert 200 //
alert (statusT == 200); // Ceci alert true //
alert (isNaN(statusT)); // Ceci alert false //
switch (statusT)
{
case 200 : alert(".."); startChat(); break; // Apparament même si statusT == 200, il n'exécute pas cette ligne
case 400 : Warning (message); break;
default : alert(statusT); break; // Ceci alert 200 ... O_o
}
Et j'ai pourtant essayé de trouver où était le bug avec Opéra. En changant le case 200 par case "200", var statusT = ... par var statusT = parseInt(...), mais le bug persistait.
Pour le problème je n'ai fait que le contourner en utilisant des if au lieu du switch. Quelqu'un a déjà eu un problème aussi incompréhensible que ça ?