Foros del Web » Programando para Internet » Javascript »

Mantener el resultado de la función Math.random() al actualizar la página

Estas en el tema de Mantener el resultado de la función Math.random() al actualizar la página en el foro de Javascript en Foros del Web. Hola! Me ha salido una duda y quizás me podrías ayudar por favor! Tengo una función con javascript que me genera frases aleatoriamente cada X ...
  #1 (permalink)  
Antiguo 03/07/2012, 12:30
 
Fecha de Ingreso: julio-2012
Ubicación: Barcelona
Mensajes: 1
Antigüedad: 11 años, 10 meses
Puntos: 0
Mantener el resultado de la función Math.random() al actualizar la página

Hola! Me ha salido una duda y quizás me podrías ayudar por favor!

Tengo una función con javascript que me genera frases aleatoriamente cada X tiempo. El problema está en que cuando refresco la página la frase que hay escrita se cambia por otra, como es lógico, ya que se vuelve a ejecutar el Math.random().

Hay alguna manera para que se mantenga la misma frase al refrescar la página?


<body>

<script type="text/javascript">

var indice = 0;

frases = new Array();

frases[0] = "Texto1";

frases[1] = "Texto2";

frases[2] = "Texto3";

frases[3] = "Texto4";

indice = Math.random()*(frases.length);

indice = Math.floor(indice);

function rotar() { if (indice == frases.length) {indice = 0;}
document.getElementById("rotando").innerHTML = frases[indice]; indice++; setTimeout("rotar();",5000); }
</script>


<div id="rotando" style="height:60px;margin:0px auto;"></div>
<script type="text/javascript">rotar();</script>

</body>



Bueno muchas gracias! Un saludo!
  #2 (permalink)  
Antiguo 03/07/2012, 12:33
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Mantener el resultado de la función Math.random() al actualizar la página

las variables en javascript NO persisten entre recargas, y el resultado del random, debe ser siempre un random (lógico) a no ser que manipule la semilla cosa que de verdad ignoro si se pueda en js.

bueno en todo caso tiene la alternativa de la cookie y el local Storage, o usar AJAX con un script del lado del server
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 03/07/2012, 14:30
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: Mantener el resultado de la función Math.random() al actualizar la página

Hubo una época -recién habíamos inventado el fuego y los dinosaurios miraban desde lejos el resplandor de nuestros campamentos- en que usábamos window.name para persistir variables:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<
title>Documento sin título</title>
</
head>
<
script type="text/javascript">
var 
indice 0;

var 
frases = new Array();

frases[0] = "Texto1";

frases[1] = "Texto2";

frases[2] = "Texto3";

frases[3] = "Texto4";

indice window.name || Math.floor(Math.random()*(frases.length));

window.name=indice;

function 
rotar() { 
    if (
indice == frases.length) {indice 0;}
    
document.getElementById("rotando").innerHTML frases[indice];window.name=indiceindice++;
 
setTimeout(rotar,5000);
}
</script> 
<body>




<div id="rotando" style="height:60px;margin:0px auto;"></div>
<script type="text/javascript">rotar();</script>

</body>

</html> 
  #4 (permalink)  
Antiguo 03/07/2012, 15:29
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Mantener el resultado de la función Math.random() al actualizar la página

OMG!!! gracias @Panino5001 que dato tan interesante, aunque dudo mucho llevarlo a la práctica, con opciones tan tentadoras como el local Storage
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...

Etiquetas: html, página, resultados
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 04:32.