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!!!! :)


Azioni

Informazioni

3 commenti a “Come perdere intere giornate di lavoro per colpa di IE”

23 08 2008
23 08 2008
Fabio (21:26:21) :

Esiste un componente aggiuntivo Firebug per Mozilla Firefox che permette tra le altre funzionalità il debug di codice Javascript.

25 08 2008
Informatix (12:13:09) :

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)

Inserisci un commento

Si possono utilizzare i tag : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>