¿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).

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);

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.


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">

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.


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.


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.



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.


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.


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.