2009-08-18 25 views
6

Uso un complemento de Firefox que puede actualizar la ventana del navegador cada X segundos. Como desarrollador de frontend esto es realmente útil, ya que puedo recibir comentarios instantáneos sobre los cambios de CSS/XHTML en el momento en que los guardo en mi editor.¿Cómo actualizo el navegador cada X segundos con javascript?

Me he dado cuenta, sin embargo, de que esto a menudo deja de funcionar. Supongo que esto puede deberse a javascript/jQuery que he agregado a la página que interfiere con el complemento.

Me preguntaba si era posible agregar una línea temporal de javascript para imitar este comportamiento de actualización automática cuando sea necesario.

Respuesta

15
setTimeout("location.reload(true);", timeoutPeriod); 
+1

Esto funciona bien para mí. Si también agrega una referencia a un id. Apropiado dentro de la página en la url, p. ... index.html # footer puede mantener visible el área que se está trabajando actualmente durante la actualización. Bonito. – james6848

38

La solución más fácil y hackiest a actualizar la página es añadir esta dentro de la cabeza:

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

para actualizarlo cada 30 segundos.

Usted puede hacer similar con Javascript haciendo:

setTimeout('window.location.href=window.location.href;', 30000); 

Nota: Hay several methods of reloading the page in Javascript por lo que estos también trabajará:

setTimeout('window.location.reload();', 30000); 

y

setTimeout('history.go(0);', 30000); 

y otros .

Ambos recargarán completamente la página cada 30 segundos. Está bien si todo lo que estás haciendo es algo rápido y sucio. Sin embargo, en general, para algo que los usuarios usarán, en su lugar querrás actualizar AJAX a partes de la página. Por ejemplo:

setInterval(refresh_table, 30000); 

function refresh_table() { 
    $("#table_container").load("/load_table"); 
} 
+1

Puede no ser que simplemente location.reload() en su lugar? – karim79

+0

Hay muchas formas de volver a cargar la página. La mía es ciertamente más bien de la vieja escuela. Consulte http://www.mediacollege.com/internet/javascript/page/reload.html – cletus

+0

es la solución más fácil para actualizar automáticamente una página. – Steven

2

Esta etiqueta meta hace la magia también. Se actualiza la página después de cada 30 segundos y se puede cambiar también

meta http-equiv = "refresh" content = "30"

Cuestiones relacionadas