Foros del Web » Programando para Internet » Javascript »

Pausar contador en javascript dependiendo de si la ventana está activa.

Estas en el tema de Pausar contador en javascript dependiendo de si la ventana está activa. en el foro de Javascript en Foros del Web. Hola! No entiendo mucho de javaScript, pero quería servirme de uno "prefabricado" y, si pudieran, me gustaría que me ayudaran a introducirle una pequeña modificación. ...
  #1 (permalink)  
Antiguo 20/04/2013, 19:41
Avatar de adrianesx  
Fecha de Ingreso: febrero-2013
Mensajes: 4
Antigüedad: 11 años, 2 meses
Puntos: 0
Pregunta Pausar contador en javascript dependiendo de si la ventana está activa.

Hola!

No entiendo mucho de javaScript, pero quería servirme de uno "prefabricado" y, si pudieran, me gustaría que me ayudaran a introducirle una pequeña modificación. El script consiste en una cuenta atrás que, al acabar, muestra o incluye un archivo php:

Código HTML:
<script>
function include(file) {
	var head = document.getElementsByTagName('head').item(0);
	var old  = document.getElementById('lastLoadedCmds');
	if (old) head.removeChild(old);

	script = document.createElement('script');
	script.src = file;
	script.type = 'text/javascript';
	script.defer = true;
	script.id = 'lastLoadedCmds';
	void(head.appendChild(script));
}

var secs={$set['seconds']};
var tway=1;

function startTimer()
{
 if(secs==0)
 {
 include("archivo.php");
 } else {
 secs=secs-tway;
 setTimeout("startTimer()", 1000);
 }
document.getElementById('secs').innerHTML = secs;
}
</script> 
El caso es que el contador sigue hacia delante aunque la ventana no esté activa y eso no me viene bien... Me gustaría que si el usuario cambia de pestaña o minimiza el navegador, la cuenta atrás se congele y se reanude por donde iba cuando el usuario vuelva a abrirla.

He intentado buscar pero no encuentro nada en español ¿Alguien sabe como se puede hacer ésto?
  #2 (permalink)  
Antiguo 20/04/2013, 19:53
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Pausar contador en javascript dependiendo de si la ventana está activa.

Los navegadores más nuevos implementan el Page Visibility API.

Para las versiones anteriores puedes intentar con listeners en los eventos focus y blur de la ventana.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.

Etiquetas: contador, pausar
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:46.