Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Problema raro en explorer

Estas en el tema de Problema raro en explorer en el foro de Frameworks JS en Foros del Web. Hola de nuevo, he hecho un script que no funciona bien en algunos navegadores (qué novedad, verdad?). Os explico, es un script AJAX que al ...
  #1 (permalink)  
Antiguo 17/02/2007, 16:54
 
Fecha de Ingreso: febrero-2007
Mensajes: 6
Antigüedad: 17 años, 2 meses
Puntos: 0
Problema raro en explorer

Hola de nuevo, he hecho un script que no funciona bien en algunos navegadores (qué novedad, verdad?). Os explico, es un script AJAX que al darle a un botón de "actualizar" se actualizan en la portada de mi web los últimos temas de los foros. Si queréis verlo en acción y comentarme si os funciona a vosotros, la web está en mi perfil, y el script anda por el centro de la página (buscad [Actualizar])

Funciona perfectamente en firefox, pero cuando lo pruebo en explorer, nada de nada, solo funciona una vez y ya está.

En cambio, he visto que otras personas con el mismo navegador y configuraciones similares si les funciona.

El script es el siguiente:

Código PHP:
<script language="javascript" type="text/javascript">
function 
objetoajax(){
    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;
}
function 
getPage(Last_New_Topics){

    
xmlhttp objetoajax();
    var 
file 'blocks/text.php?Last_New_Topics=' Last_New_Topics;
    
xmlhttp.open('GET'filetrue);
    
    
xmlhttp.onreadystatechange=function() {
        if(
xmlhttp.readyState==&& xmlhttp.status==200){
                   
document.getElementById('content').innerHTML xmlhttp.responseText;
        }else{   
              
document.getElementById('cargando').innerHTML '<b>[Cargando...]</b>';
               
document.getElementById('hora').innerHTML ''
        } 
        
        }
        
xmlhttp.send(null)
return;
}
</script> 
Lo demás es php y html, no lo pongo porque es una tontería.

Es como si el objeto solo se pudiera usar una vez, pero en algunos navegadores solamente.
  #2 (permalink)  
Antiguo 17/02/2007, 18:05
 
Fecha de Ingreso: febrero-2007
Mensajes: 6
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Problema raro en explorer

Vaya, pues al final he encontrado la respuesta en la wikipedia, como no puedo poner el enlace, buscad:
Problemas con la caché en Microsoft Internet Explorer y ahí está la respuesta, si os vais al artículo en inglés, yo he escogido la opción de:

Cita:
Another method is to add a random string on the end of the url in the query:

req.open( "GET", "xmlprovider.php?sid=" + Math.random());
Cosa que he hecho, he modificado mi línea donde empleo el GET:

Cita:
var file = 'blocks/text.php?Last_New_Topics=' + Last_New_Topics + '&sid=' + Math.random();
xmlhttp.open('GET', file, true);
Si es que donde primero hay que mirar es en la wikipedia
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:52.