var mysite = {
    'url': "http://www.ajaxweb20.net",
    'author': "Giuseppe Raso",
    'xhtmlValid': true,
    'cssValid': true
}
Home > Blog

Posts Tagged ‘toString’

Bug di IE nella gestione di array contenenti elementi XML.

Sabato, Aprile 26th, 2008

Faccio veramente fatica a capire il bug che vi sto per illustrare, e qualcosa mi dice che per voi non sarà diverso :D

Supponiamo di avere una funzione che carica un documento xml; in Internet Explorer siamo costretti a usare un ActiveX: scomodo, ma almeno fin qui funziona tutto.

var xml = new ActiveXObject("Microsoft.XMLDOM");
xml.async = false;
xml.load("myfile.xml")

Bene, ora supponiamo di voler creare un array contenente alcuni degli elementi che abbiamo ottenuto:

var arr = [];
arr[0]= xml.documentElement;
arr[1] = xml.childNodes[1]

Qual’è il bug?
Stranamente, una volta inserito uno o più elementi xml nell’array, i metodi toString e join di quest’ultimo non funzioneranno più.
In altre parole:

arr.toString() //Restituisce "[object]", una stringa assolutamente inutile
arr.join(",") //dà addirittura errore!

Onestamente non riesco proprio a capire come ciò possa accadere. Non posso fare altro che complimentarmi col team di IE: una “funzionalità” che io ho difficolta anche a concepire loro sono riusciti a realizzarla non volendo!