Foros del Web » Programando para Internet » Javascript »

Problemas con temporizadores

Estas en el tema de Problemas con temporizadores en el foro de Javascript en Foros del Web. Buenos días, estoy usando un temporizador para cargar una página cada 30 segundos. El problema es que la página está abierta las 24 horas del ...
  #1 (permalink)  
Antiguo 20/11/2013, 04:07
 
Fecha de Ingreso: septiembre-2005
Mensajes: 522
Antigüedad: 18 años, 7 meses
Puntos: 0
Problemas con temporizadores

Buenos días,

estoy usando un temporizador para cargar una página cada 30 segundos. El problema es que la página está abierta las 24 horas del día y a veces se queda colgado como si el temporizador dejara de funcionar.

El código que uso es:




Código HTML:
tiempo_recarga=30;
cuenta_atras();
tempo="";

//
function cuenta_atras(){
  //Muestro los segundos
  document.getElementById('id_tiempo_recarga').value=tiempo_recarga;
  //Resto 1 segundo
  tiempo_recarga--;
  //Si llega a 0 recargar la pagina
  if(tiempo_recarga<0){
        clearTimeout(tempo);
        window.location="inicio.php";
  }
  else tempo=setTimeout("cuenta_atras();",1000);
}


Como puedo solucionar esto?

Saludos
  #2 (permalink)  
Antiguo 20/11/2013, 04:33
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 3 meses
Puntos: 206
Respuesta: Problemas con temporizadores

Usa otro navegador.
  #3 (permalink)  
Antiguo 20/11/2013, 06:54
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Problemas con temporizadores

usa el meta refresh de html
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #4 (permalink)  
Antiguo 03/12/2013, 13:02
 
Fecha de Ingreso: septiembre-2005
Mensajes: 522
Antigüedad: 18 años, 7 meses
Puntos: 0
Respuesta: Problemas con temporizadores

Hola,

parece que con el meta refresh no se para de refrescar pero, me gustaría usar el setTimeout para poder coger datos del servidor con ajax cada 30 segundos.

Saludos.
  #5 (permalink)  
Antiguo 04/12/2013, 06:10
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Problemas con temporizadores

Cita:
Iniciado por xinxan22 Ver Mensaje
Hola,

parece que con el meta refresh no se para de refrescar pero, me gustaría usar el setTimeout para poder coger datos del servidor con ajax cada 30 segundos.

Saludos.
te cito

Cita:
Iniciado por xinxan22 Ver Mensaje
estoy usando un temporizador para cargar una página cada 30 segundos
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #6 (permalink)  
Antiguo 04/12/2013, 06:25
 
Fecha de Ingreso: septiembre-2005
Mensajes: 522
Antigüedad: 18 años, 7 meses
Puntos: 0
Respuesta: Problemas con temporizadores

Hola,

si cierto.

He hecho algunas modificaciones en la función inicial que puse, en vez de refescar toda la página (window.location="inicio.php") refresco solamente una div cada 30 segundos.

Hay un momento que deja de funcionar, entiendo que no se pierde la conexión a Internet ni con el servidor en ningún momento.

Lo que hago es usar el meta refresh cada 1 hora para refrescar la página y así no se queda bloqueado el temporizador.

No es un buen método y me gustaría saber a que podría debersa.

Saludos
  #7 (permalink)  
Antiguo 04/12/2013, 06:40
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Problemas con temporizadores

no debería de bloquearse aunque se realizara una petición cada 5 segundos. prueba a eliminar el objeto XMLHttpRequest()
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #8 (permalink)  
Antiguo 04/12/2013, 06:44
 
Fecha de Ingreso: septiembre-2005
Mensajes: 522
Antigüedad: 18 años, 7 meses
Puntos: 0
Respuesta: Problemas con temporizadores

Código HTML:
// Crea objeto XML para iniciar conexion con el servidor
function iniciar_servidor_xml(){

  //code for IE7+, Firefox, Chrome, Opera, Safari
  if(window.XMLHttpRequest) xml=new XMLHttpRequest();
  // code for IE6, IE5
  else xml=new ActiveXObject("Microsoft.XMLHTTP");

  return xml;
}



// finaliza conexion con el servidor
function servidor_xml_finalizar(xml,valores){

  url=PATH_SERVIDOR+"?valores="+valores;

  xml.open("GET",url,true);
  xml.send();

  return xml;

}





xmlServidor=iniciar_servidor_xml();
xmlServidor.onreadystatechange=function(){
    if(xmlServidor.readyState==4 && xmlServidor.status==200){

        //respuesta servidor = xmlServidor.responseText

    }           
}
xmlServidor=servidor_xml_finalizar(xmlServidor,'');


Elimino "if(window.XMLHttpRequest) xml=new XMLHttpRequest();" ??
  #9 (permalink)  
Antiguo 04/12/2013, 09:12
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Problemas con temporizadores

no, hombre. es algo como esto
Cita:
if (!xmlServidor) { return; }

xmlServidor.onreadystatechange=function(){
if(xmlServidor.readyState==4 && xmlServidor.status==200){
//respuesta servidor = xmlServidor.responseText

xmlServidor.onreadystatechange = function(){};
xmlServidor.abort();
xmlServidor = null;
}

}
xmlServidor=servidor_xml_finalizar(xmlServidor,'') ;
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}

Etiquetas: funcion, php
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 11:20.