Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Javascript (http://www.forosdelweb.com/f13/)
-   -   refresh o reload a ciertas horas con javascript (http://www.forosdelweb.com/f13/refresh-reload-ciertas-horas-con-javascript-570447/)

turcoale 28/03/2008 23:55

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!:aplauso:

a2a2 29/03/2008 01:54

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.

derkenuke 29/03/2008 10:09

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.


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

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.