function ConstructorXMLHttpRequest()
{
if(window.XMLHttpRequest)
/*
Vemos si el objeto window (la base de
la ventana del navegador) posee el método
XMLHttpRequest(Navegadores como Mozilla y Safari).
*/
{
return new XMLHttpRequest(); //Si lo tiene, crearemos el objeto con este método.
}
else if(window.ActiveXObject)
/*
Sino tenía el método anterior,
debería ser el Internet Exp. un navegador que emplea objetos
ActiveX, lo mismo, miramos si tiene el método de creación.
*/
{
/*
Hay diferentes versiones del objeto, creamos un array, que
contiene los diferentes tipos desde la
versión mas reciente, hasta la mas antigua
*/
var versionesObj = new Array(
'Msxml2.XMLHTTP.5.0',
'Msxml2.XMLHTTP.4.0',
'Msxml2.XMLHTTP.3.0',
'Msxml2.XMLHTTP',
'Microsoft.XMLHTTP');
for (var i = 0; i < versionesObj.length; i++)
{
try
{
/*
Intentamos devolver el objeto intentando crear las diferentes
versiones se puede intentar crear uno que no existe y se
producirá un error.
*/
return new ActiveXObject(versionesObj[i]);
}
catch (errorControlado) //Capturamos el error, ya que podría crearse otro objeto.
{
}
}
}
/*
Si el navegador llego aquí es porque no posee manera alguna de
crear el objeto, emitimos un mensaje de error.
*/
throw new Error("No se pudo crear el objeto XMLHttpRequest");
}
