Refresco automático - tiempo aleatorio

Necesitaría poder insertar en mi página la posibilidad de que se actualizara automáticamente cada 30 segundos (tengo un javascript que lo hace ya), pero el problema está en que hay muchos usuarios y cada 30 segundos se carga demasiado el servidor.
Necesitaría que el tiempo de refresco fuese aleatorio entre los usuarios, actualizándose cada 10, 20 o 30 segundos, repartiéndose la carga en el tiempo sin tirar el servidor.
¿Podéis ayudarme? Socorro!
Respuesta
1
Si a lo que te referís es a como generar números aleatorios en un intervalo, entonces te digo:
var a = Math.round(Math.random() * (n-m)) + m;
Donde m es el inicio del rango (el número menor) y n es el final del rango (el número mayor)
var a = Math.round(Math.random()* 30 - 10)) + 10;
Ahora, si el número al azar deber ser 10 o 20 o 30 estrictamente se puede hacer lo siguiente:
var a = Math.round(Math.random()*(3-1))+1;
a = a * 10;
Genero un número al azar en el intervelo [1;3] y después lo multiplico por 10.
Atentamente. Manuel Fernández.
Por ejemplo, voy a carga en a un número al azar entre 10 y 30
¡Genial!
De todos modos, me falta algo superimportante...
¿Cómo lo integro con el <meta> del refresco automático?
Muchas gracias por las molestias.
Yo te recomendaría que uses un setTimeout() y un location.href="URL";
Es decir, podes hacer esto:
Primero generás el número al azar, después lo multiplicás por 1000 ya que el setTimeout trabaja con milisegundos, y luego ponés esto:
myTimer = setTimeout("location.href= document.URL",tiempo);
Siendo tiempo la variable en la que tenés el tiempo.
Atentamente. Manuel Fernández.
Perdona que abuse de tu paciencia y ayuda, pero soy un poco inútil con los javascript y me lio con la nomenclatura.
¿Podría pedirte cómo debería ser el código exacto a incluir en la cabecera de mi index.htm para que se refresque aleatoriamente?
Muchas gracias por tu ayuda y tu paciencia amigo, pero estoy desesperado por el problemón que tenemos en el trabajo con este tema... ¡GRACIAS!
Así sería el código:
<script laguage="JavaScript">
var a = Math.round(Math.random()*(3-1))+1;
a = a * 10000;
var myTimer = setTimeout("location.href= document.URL",a);
</script>
todo esto dentro del tag <head>, mejor dicho:
entre <head> y </head>
Atentamente. Manuel Fernández.
PD: no es molestia escribir el código, para eso estamos, además, quien puede molestarse cuando le piden algo tan atenta y amablemente como lo hiciste vos. ;)
Te deseo suerte con este asunto.
Siento la tardanza en cerrar la pregunta, pero ha sido una temporada un poco complicada...
Muchísimas gracias por todo, de verdad. Me fue fantástico y te lo debo a ti. Mucha Suerte en todo Amigo!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas