¿Cómo recargar la página cada 5 segundos?

183

Estoy convirtiendo un diseño a html; Una vez que hago los cambios en el código / html / css, cada vez que tengo que presionar F5. ¿Hay alguna solución simple de javascript / jQuery para esto? Es decir, después de agregar el script, vuelva a cargar la página completa cada 5 segundos (u otro momento específico).

Wasim Shaikh
fuente

Respuestas:

382
 <meta http-equiv="refresh" content="5; URL=http://www.yourdomain.com/yoursite.html">

Si tiene que estar en el script, use setTimeout como:

setTimeout(function(){
   window.location.reload(1);
}, 5000);
jAndy
fuente
44
Creo que esta es probablemente una mejor manera de hacerlo que en JavaScript.
Rico
1
Si el caso de uso fuera que la página necesitaba actualizarse para los visitantes, entonces podría estar de acuerdo, pero para fines de desarrollo, tener un bloque de código que puede colocar en la página sin tener que actualizar un URI cada vez es una ventaja. Dependiendo de JS no es un problema cuando el desarrollador es el público objetivo completo.
Quentin
44
location.reload (1) repetirá una POST si la página actual es el resultado de una POST. Eso podría no ser deseable, si está buscando replicar la meta actualización en Javascript.
Reuben
2
Recargar la página actual no requiere que especifique la página, solo:<meta http-equiv="refresh" content="5">
ashleedawg
146

Para volver a cargar la misma página, no necesita el segundo argumento. Solo puedes usar:

 <meta http-equiv="refresh" content="30" />

Esto desencadena una recarga cada 30 segundos.

Ridículo
fuente
3
Se desaconseja cuando se usa para redireccionar . No está en desuso. (Y resulta muy útil cuando quieres actualizar una página y eres demasiado vago para aprender ajax :)
DinoCoderSaurus
Esto no está funcionando para mí. Intenté agregar esta línea a este codepen en vano. codepen.io/css-support/pen/bspdK
lolololol el
1
@lololololol Debe agregarlo en la configuración "Cosas para <head>" en el área Configuración de lápiz del HTML. No funciona si lo pones en el script real.
Bret
23

Para la recarga automática y borrar la memoria caché después de 3 segundos, puede hacerlo fácilmente usando la función setInterval de javascript. Aquí hay un código simple

$(document).ready(function() {
  setInterval(function() {
    cache_clear()
  }, 3000);
});

function cache_clear() {
  window.location.reload(true);
  // window.location.reload(); use this if you do not remove cache
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<p>Auto reload page and clear cache</p>

y también puedes usar meta para esto

<meta http-equiv="Refresh" content="5">
Shafiqul Islam
fuente
La actualización de la página <script> funciona, pero ¿puede explicar cómo está limpiando el caché? o simplemente está actualizando el caché ... por favor explique.
Plata
10

Hay una herramienta automática de actualización y cambio para IE. Se llama ReloadIt y está disponible en http://reloadit.codeplex.com . Gratis.

Usted elige una URL que desea recargar automáticamente y especifica una o más rutas de directorio para monitorear los cambios. Presione F12 para comenzar a monitorear.

ingrese la descripción de la imagen aquí

Después de configurarlo, minimícelo. Luego edite sus archivos de contenido. Cuando guarda cualquier cambio, la página se vuelve a cargar. Me gusta esto:

ingrese la descripción de la imagen aquí

Sencillo. fácil.

Cheeso
fuente
2
Buena herramienta para IE, y gracias por lo animado. ¿Cómo puedo crear lo mismo?
Wasim Shaikh
@WasimShaikh: graba tu pantalla en un GIF animado usando ScreenToGIF .
ashleedawg
5

La respuesta proporcionada por @jAndy debería funcionar, pero en Firefox puede enfrentar un problema, window.location.reload (1) ; podría no funcionar, esa es mi experiencia personal.

Entonces me gustaría sugerir:

setTimeout(function() { window.location=window.location;},5000);

Esto está probado y funciona bien.

NarendraSoni
fuente
3

Una alternativa decente si está usando Firefox es el complemento XRefresh . Recargará su página cada vez que detecte que el archivo ha sido modificado. Por lo tanto, en lugar de actualizarse cada 5 segundos, se actualizará cuando presione guardar en su editor HTML.

Dal Hundal
fuente
3

Alternativamente, existe la aplicación llamada LiveReload ...

veksen
fuente
2

Si está desarrollando y probando en Firefox, hay disponible un complemento llamado " ReloadEvery ", que le permite volver a cargar la página a los intervalos especificados.

Veera
fuente
1

Esto funcionará en 5 segundos.

5000 milisegundos = 5 segundos

Úselo con target _selfo lo que quiera y la página que desee, incluido él mismo:

<script type="text/javascript">
function load()
{
setTimeout("window.open('http://YourPage.com', '_self');", 5000);
}
</script>
<body onload="load()"> 

O esto con uno mismo automático y sin código de destino con la página que desee, incluido él mismo:

<script type="text/javascript">
function load()
{
setTimeout("location.href = 'http://YourPage.com';", 5000);
}
</script>
<body onload="load()"> 

O esto si es la misma página para recargarse solo y con el objetivo de remolcar siempre que desee:

<script type="text/javascript">
function load()
{
setTimeout("window.open(self.location, '_self');", 5000);
}
</script>
<body onload="load()">

Los 3 hacen cosas similares, solo que de diferentes maneras.

SeekLoad
fuente
1

function reload() {
  document.location.reload();
}

setTimeout(reload, 5000);

objeto Objeto
fuente