Foros del Web » Programando para Internet » Javascript »

refresh o reload a ciertas horas con javascript

Estas en el tema de refresh o reload a ciertas horas con javascript en el foro de Javascript en Foros del Web. Hola, tengo un sitio de una emisora de radio que cambia cada ciertas horas una imagen (.jpg) donde represento a cada programa que está emitiendo ...
  #1 (permalink)  
Antiguo 28/03/2008, 23:55
 
Fecha de Ingreso: noviembre-2006
Mensajes: 6
Antigüedad: 17 años, 5 meses
Puntos: 0
refresh o reload a ciertas horas con javascript

Hola, tengo un sitio de una emisora de radio que cambia cada ciertas horas una imagen (.jpg) donde represento a cada programa que está emitiendo con la foto del conductor, etc. esto lo hice con:

<script language="JavaScript">

var d = new Date();
var h = d.getHours();
var dia = d.getDay();
if (dia < 6)
{
if ((h > 0,01) && (h < 2)) document.write("<img src='imagen1.jpg'>");
else if ((h > 2,01) && (h < 3)) document.write("<img src='imagen2.jpg'>");
else if ((h > 3,01) && (h < 6)) document.write("<img src='imagen3.jpg'>");

...y así sucesivamente.

peor para apreciar el cambio tengo que actualizar (refrescar) la página, por lo que agregué:

<meta http-equiv="Refresh" content="300" />

para que se refresque cada 5 minutos y así apreciar el efecto.
Pero me parece muy traído de los pelos mi sistema, pues estoy seguro que debe existir algo en javascript que me permita que a determinadas horas del dia me refresque la página.
Perdón por mi ignorancia, espero que me ayuden. Muchas gracias! los que responden acá la verdad que son muy grosos, se toman la molestia de aclarar las dudas a los principiantes sin recibir nada a cambio! Mis felicitaciones!
  #2 (permalink)  
Antiguo 29/03/2008, 01:54
 
Fecha de Ingreso: marzo-2008
Mensajes: 303
Antigüedad: 16 años, 1 mes
Puntos: 4
Re: refresh o reload a ciertas horas con javascript

La página que mencionas ¿ Es estática, o la generas dinámicamente en tu servidor (con PHP, PERL o similar) ?
Y otra pregrunta, cuando dices "a determinadas horas del dia", es para la hora de un determinado país, o para cual ?. Ten en cuenta que cuando en tu país son las 10:00 en el pais de al lado pueden ser las 11:00.
  #3 (permalink)  
Antiguo 29/03/2008, 10:09
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Re: refresh o reload a ciertas horas con javascript

Hola turcoale:

Evidentemente trabajas con la hora del cliente, ya sea de España, de Brasil o de Etiopía, eso tienes que tenerlo claro. En el mismo instante todos tienen horas distintas.

Para cambiar el src de una imagen al vuelo sin recargar la página debes hacer:

Código PHP:
document.getElementById("idDeLaImagen").setAttribute("src""ruta/foto.jpg"); 
Si tienes una función que controle las horas tipo:
Código PHP:
function controlaHoras() {
  var 
ahora=new Date().getHours();
  switch(
ahora) {
    case 
0,1source "img1.jpg"; break;
    case 
2,3source "img2.jpg"; break;
    
// ....
  
}

Sólo tienes que llamar a controlaHoras() cada cierto tiempo, por ejemplo cada minuto. Eso se hace con setInterval("controlaHoras()", 1*60*1000);, y entonces se actualizará solo.



Recargar el documento automáticamente, bien sea mediante javascript, o mediante <meta> es una práctica que debe despreciarse por ser muy invasiva al usuario (¡imagínate que está leyendo una cosa y le recargas el documento!).


Con esa sencilla operación te debería bastar.


PD: No entiendo eso de if (h > 0,01), el método getHours() devuelve un entero: será 0,1,2,3... nunca tendrá decimales, así que h>0.01 será true siempre que h>0 en este caso. Simplifica.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
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 02:54.