Come perdere intere giornate di lavoro per colpa di IE
23 08 2008
Maledetto IE!!! Errore di sintassi JS che è in realtà non è un errore di sintassi JS ma solamente un maledetto errore (o bug… chiamalo come vuoi) di interpretazione del JS da parte di Internet Explorer (7).
if (tot>0) {
if (index==primo)
do {
primo++;
} while (myArray[primo]==null);
else if (index==ultimo)
do {
ultimo--;
} while (myArray[ultimo]==null);
}
Premetto che le variabili tot, index, primo, ultimo e myArray sono tutte correttamente dichiarate in precedenza.
Dato che un blocco di codice do/while corrisponde ad un unica istruzione quando immesso in un altro costrutto come ad esempio l’if non dovrebbe necessitare di parentesi dopo l’if… e infatti su Firefox funziona perfettamente ma su IE no!!! Il codice giusto funzionante è questo:
if (tot>0) {
if (index==primo) {
do {
primo++;
} while (myArray[primo]==null);
} else if (index==ultimo) {
do {
ultimo--;
} while (myArray[ultimo]==null);
}
}
E come se non bastasse i messaggi di errore JS di IE sono stracriptici… il numero di linea non corrisponde mai a quello vero!!!! Se qualcuno conosce un buon ambiente di programmazione e soprattutto debugging per JavaScript me lo dica subito prima che impazzisco!!!! ![]()









Esiste un’estensione: per Mozilla Firefox che permette tra le altre funzionalità il debug di codice Javascript.
Esiste un componente aggiuntivo Firebug per Mozilla Firefox che permette tra le altre funzionalità il debug di codice Javascript.
In passato l’avevo già usato ma mi dava problemi con l’aggiornamento non sincronizzato dei vari componenti (html, js, css) della stessa pagina… magari ora però l’han migliorato anche se purtroppo non credo che riesca ad aiutarmi per IE… purtroppo è pur sempre il browser più usato (almeno da quelli che andranno ad usare il risultato del mio lavoro)