Saludos...
Pues trabjando un poco con el código y estudiando un poco más sobre ajax ya conseguí
que el código publicado arriba me funcione para IE, y pues también sigue funcionando con FF y Safari. Lo único que tuve que hacer fue invertir el orden interno de la condición window.XMLHttpRequest por el window.ActiveXObject.
Para explicarme mejor les presento como me ha quedado el código hasta ahora para que lo comparen con el código anteriormente publicado.
Código Javascript
:
Ver originalfunction llamarasincrono (url,id_contenedor)
{
var pagina_requerida = false;
if (window.ActiveXObject) // Para identificar versiones de IE
{
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++) // for para recorrer el Array de versiones
{
try
{
pagina_requerida = new ActiveXObject(versionesObj[i]);
}
catch(e)
{
}
}
}
else if (window.XMLHttpRequest) // Para identificar navegador Mozilla FF o otros navegadores que no sean IE
{
pagina_requerida = new XMLHttpRequest();
}
else
return false;
pagina_requerida.onreadystatechange = function()
{
cargarpagina(pagina_requerida,id_contenedor);
}
pagina_requerida.open("GET",url,true);
pagina_requerida.send(null);
}
function cargarpagina (pagina_requerida,id_contenedor)
{
switch (pagina_requerida.readyState)
{
case 0: document.getElementById(id_contenedor).innerHTML = "Sin iniciar la carga de información";
break;
case 1: document.getElementById(id_contenedor).innerHTML = "cargando la información";
break;
case 2: document.getElementById(id_contenedor).innerHTML = "Información cargada";
break;
case 3: document.getElementById(id_contenedor).innerHTML = "Puede Interactuar con los demás objetos de la página";
break;
case 4: document.getElementById(id_contenedor).innerHTML = "Carga de información completada";
break;
}
document.getElementById(id_contenedor).innerHTML = pagina_requerida.responseText;
}
Pero todavía no consigo que me funcione para CHROME y OPERA. POR FAVOR AYUDAAAAA....