vv1984
19-07-2008, 16:14
Ciao a tutti, ho un problema di compatibilità
con una funzione (che dovrebbe esser crossbrowser,
ma evidentemente non lo è..) che carica un file
xml per manipolarlo come XmlObject.
Questa è la funzione che uso:
function loadXMLDoc(dname)
{
try //Internet Explorer
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
}
catch(e)
{
try //Firefox, Mozilla, Opera, etc.
{
xmlDoc=document.implementation.createDocument("","",null);
}
catch(e) {alert(e.message)}
}
try
{
xmlDoc.async=false;
xmlDoc.load(dname);
return(xmlDoc);
}
catch(e) {alert(e.message)}
return(null);
}
E questa è la parte di codice che la utilizza:
homeDom = loadXMLDoc("../speciali/home.xml");
var opzioni = homeDom.getElementsByTagName("opzioni")[0];
var ul = homeDom.createElement("ul");
opzioni.appendChild(ul);
Su Mozilla Firefox 3.0 la variabile ul non viene vista come
DOMElement.
Su Internet Explorer 7 mi ritorna "Proprietà o metodo non supportati dall'oggetto" e nei dettagli mi dice "homeDom è nullo o non è un oggetto".
Penso sia un problema nella funzione loadXMLDoc, ma è stata presa
esattamente com'era da w3schools. Non so dove altro trovare una
funzione esatta per evitare incompatibilità..
con una funzione (che dovrebbe esser crossbrowser,
ma evidentemente non lo è..) che carica un file
xml per manipolarlo come XmlObject.
Questa è la funzione che uso:
function loadXMLDoc(dname)
{
try //Internet Explorer
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
}
catch(e)
{
try //Firefox, Mozilla, Opera, etc.
{
xmlDoc=document.implementation.createDocument("","",null);
}
catch(e) {alert(e.message)}
}
try
{
xmlDoc.async=false;
xmlDoc.load(dname);
return(xmlDoc);
}
catch(e) {alert(e.message)}
return(null);
}
E questa è la parte di codice che la utilizza:
homeDom = loadXMLDoc("../speciali/home.xml");
var opzioni = homeDom.getElementsByTagName("opzioni")[0];
var ul = homeDom.createElement("ul");
opzioni.appendChild(ul);
Su Mozilla Firefox 3.0 la variabile ul non viene vista come
DOMElement.
Su Internet Explorer 7 mi ritorna "Proprietà o metodo non supportati dall'oggetto" e nei dettagli mi dice "homeDom è nullo o non è un oggetto".
Penso sia un problema nella funzione loadXMLDoc, ma è stata presa
esattamente com'era da w3schools. Non so dove altro trovare una
funzione esatta per evitare incompatibilità..