hola buenas estoy haciendo una web en al que uso ajax. empece con esto hace unos cuantos meses en una web, y ahora lo estoy usando para otra. Me doy cuenta que con el IE8, safari y firefox no me funciona bien al crear el objeto xmlhttp
tengo el siguiente codigo:
Código:
function crearAjax()
{
var xmlhttp=false;
try
{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (E)
{
xmlhttp = false;
}
}
if (!xmlhttp && typeof XMLHttpRequest!='undefined')
{
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}
en el menu de la web lo que hago es llamar a funciones que me cargar en un div contenedor el contenido de un docmento html, el cual solo tiene lo que me interesa.
aqui por ejemplo cargaria la galeria de fotos
Código:
function Galeria()
{
var contenedor;
contenedor = document.getElementById('content');
// creamos un nuevo objeto ajax
ajax=crearAjax();
//cargar el archivo html por el método GET
ajax.open("GET", "Galeria/Galeria.htm",true);
ajax.onreadystatechange=function()
{
if (ajax.readyState==4) // Readystate 4 significa que ya acabó de cargarlo
{
content.innerHTML = ajax.responseText
}
}
ajax.send(null)
}
creo que como el ie8 ha salido hace poco puede que el codigo no valga porque se haga diferente lo de xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
que se puede hacer tambien con un array e ir recorriendo poniendo "Microsoft.XMLHTTP.5.0", "Microsoft.XMLHTTP.4.0", etc...
mirando por internet he visto solo ejemplos hasta el 7.0 que a mi me funciona.
alquien sabria decirme que pasa con el ie8, safari y firefox. ultimas versiones.
Gracias