2012-08-20 23 views
14

¿Cómo puedo actualizar una página por cada minuto usando javascript. Nota: No tengo control/opción para editar la etiqueta del cuerpo HTML (donde usualmente llamamos a la función onload).Actualizar página para el intervalo usando js

+2

espero que esto es un tipo de sólo lectura de la página, de lo contrario los usuarios pueden ser bastante molesto. – jbabey

Respuesta

25

Sólo tiene que insertar este código en cualquier parte de la página:

<script type="text/javascript"> 
    setTimeout(function(){ 
    location = '' 
    },60000) 
</script> 
+0

¿Qué pasa si solo quiero tener este trabajo en una URL específica? Pregunto si quiero usar esto en un sitio de MediaWiki para mí en Special: MyPage/common.js para actualizar solo cuando estoy sentado en Special: Watchlist esperando una respuesta. – ShoeMaker

+0

Tal vez podrías hacer algo como 'if (location == 'your url') {setTimeout (..., 60000)}' – Abraham

16
<script type="text/javascript"> 
    setTimeout(function() { 
     location.reload(); 
    }, 60 * 1000); 
</script> 

setTimeout se reload la página después de un número especificado de milisegundos, por lo tanto 60 * 1000 = 1m. Además, dado que la página se está actualizando, el tiempo de espera siempre se configurará en la carga de la página.

+0

Debería cambiar eso a 'setTimeout'. Y dígale que lo ponga en el código de la página, no en la consola o algo así. –

+0

si la página se está recargando, nunca disparará más de un intervalo ... – jbabey

+0

@jbabey: De hecho, he actualizado mi ejemplo, gracias. –

8

Usted no necesita tener el código en el cuerpo de la etiqueta. Simplemente agregue este fragmento a continuación y debería funcionar sin importar dónde se encuentre en la página.

<script type="text/javascript"> 
    setInterval('window.location.reload()', 60000); 
</script> 

Mientras se puede acceder al código HTML en algún lugar y su editor no filtra las etiquetas que debe estar bien. Si su editor tiene un área separada para el código JavaScript, simplemente ingrese la línea setInterval. :)

0

Cuando su URL tiene parámetros, parece que usar location = '' no funciona en IE8. La página se recarga sin ningún parámetro.

El siguiente código funciona para mí:

<script type="text/javascript"> 
    setTimeout(function(){ 
     window.location.href = window.location.href; 
    },10000) 
</script> 
Cuestiones relacionadas