Código:
Pero en FireFox si me funciona bien, pero en IE 7 y 8 no me funciona hasta que presiono F5, ¿por que? alguien que me diga como hacer para que si funcione en IE 7 y 8 porque en el 6 si funciona bien.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"); }
a este lo llamo a cualquier pagina con
Código:
y en mis paginas:<script type="text/javascript" src="ConstructorXMLHttpRequest.js"></script>
Código:
yvar peticion01 = null; peticion01 = new ConstructorXMLHttpRequest();
Código:
function estadoPeticion() //Función que se llama cada vez que cambia el estado de peticion01.readyState. { switch(peticion01.readyState) //Según el estado de la petición devolvemos un Texto. { case 0: document.getElementById('estado').innerHTML = "Sin iniciar"; break; case 1: document.getElementById('estado').innerHTML = "Cargando"; break; case 2: document.getElementById('estado').innerHTML = "Cargado"; break; case 3: document.getElementById('estado').innerHTML = "Interactivo"; break; case 4: document.getElementById('estado').innerHTML = "Completado"; //Si ya hemos completado la petición, devolvemos además la información. document.getElementById('resultado').innerHTML = peticion01.responseText; break; } } function Coger(url) //Función coger, en esta caso le entra una dirección relativa al documento actual. { if(peticion01) //Si tenemos el objeto peticion01 { peticion01.open('GET', url, true); //Abrimos la url, true=forma asíncrona /*Asignamos la función que se llama cada vez que cambia el estado de peticion01.readyState Y LO HACEMOS ANTES THE HACER EL SEND porque inicia la transmisión.*/ peticion01.onreadystatechange = estadoPeticion; peticion01.send(null); //No le enviamos datos a la pagina que abrimos. } }
hay algun error, por que en FireFox si funciona pero en IE7 y 8 no funciona hasta que presiono F5 o actualizo la pagina.
¿como solucionar esto?