¿Cómo puedo recargar una imagen en un intervalo de tiempo?

Tengo dos imágenes que necesitan recargarse en x tiempo. Traté de hacerlo de esta manera:

<script>
 function srcreload(){
     imguser=document.getElementsByName("userimage")[0];
     imgme=document.getElementsByName("me")[0];
     imguser.src=imguser.src;imgme.src=imgme.src;setTimeout("srcreload()",15000);};
     setTimeout("srcreload()",15000);
</script>
  <img src="somesrc" name="userimage">
  <img src="someothersrc" name="me">

¿Por qué no funciona y cómo lo soluciono? Lo hice funcionar una vez, pero luego debí haber cambiado algo porque ya no funciona.

preguntado el 08 de noviembre de 11 a las 12:11

Por favor, explique qué significa "no funciona" y qué navegador está utilizando. -

hay un innecesario { al final de su javascript -

Estoy usando Chrome, pero necesito que funcione en todos los navegadores principales (IE, Chrome, Firefox). Y no funciona idk por qué ... Se eliminó lo innecesario {-

2 Respuestas

  1. Utilizan var.
  2. No pases una cuerda a setTimeout, sino una función.
  3. Sangra correctamente.

Si sangra bien, verá un extraño }, que no pertenece allí.

var url = "...";

function srcreload() {
    var imguser = document.getElementsByName("userimage")[0];
    var imgme = document.getElementsByName("me")[0];

    var random = "?" + Math.random();

    imguser.src = url + random;
    imgme.src = url + random;

   setTimeout(srcreload, 15000);
}

setTimeout(srcreload, 15000);

respondido 08 nov., 11:17

Las cadenas se pueden enviar a setTimeout y se evaluarán. - Tobías

Probé su solución ahora mismo y el problema no parece estar ahí. En mi página, el código está muy bien configurado, sin elementos extraños}. Aún así, las imágenes no se actualizarán. - Jony

@Tobias: Lo sé, pero es un muy mala práctica. - pimvdb

@pimvdb: lo intenté. pero todavía no funcionó. oh espera ... lo editaste, solo un segundo, lo intentaré de nuevo - Jony

Funcionó, pero afecta las imágenes ... se ven diferentes después de que se vuelven a cargar - Jony

imguser.src=imguser.src;
imgme.src=imgme.src;

¿Tienen sentido estas líneas, se está copiando el mismo valor?

respondido 08 nov., 11:16

Supongo que hace que el navegador descargue el archivo nuevamente, pero no estoy seguro de si es una buena práctica (puede que solo use el caché). - pimvdb

Ya he usado el mismo tipo de truco en iframes para hacer que se recarguen y no usa la copia en caché. - Jony

¡Ahh XD se me escapa entre los dedos! funciona muy bien con el signo de interrogación, pero no con el "#" - Jony

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.