2009-08-18 14 views
6

Uso un plugin per Firefox in grado di aggiornare la finestra del browser ogni X secondi. Come sviluppatore frontend questo è davvero utile in quanto posso ottenere un feedback istantaneo sui cambiamenti CSS/XHTML nel momento in cui li salvo nel mio editor.Come faccio ad aggiornare il browser ogni X secondi con javascript?

Ho notato, tuttavia, che spesso questo smette di funzionare. Suppongo che ciò possa essere dovuto a javascript/jQuery che ho aggiunto alla pagina che interferisce con il plugin.

Mi stavo chiedendo se fosse possibile aggiungere una linea temporanea di javascript per simulare questo comportamento di aggiornamento automatico quando necessario.

risposta

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

Questo funziona bene per me. Se si aggiunge anche un riferimento a un id appropriato all'interno della pagina nell'URL, ad es. ... index.html # footer è possibile mantenere l'area attualmente in lavorazione visibile per l'aggiornamento. Bello. – james6848

38

La soluzione più semplice e hackiest per aggiornare la pagina è quello di aggiungere questo dentro la testa:

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

per aggiornarlo ogni 30 secondi.

Si può fare di simile con JavaScript facendo:

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

Nota: Ci sono several methods of reloading the page in Javascript così questi saranno anche il lavoro:

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

e

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

e altri .

Entrambe queste opzioni ricaricheranno completamente la pagina ogni 30 secondi. Va bene se tutto quello che stai facendo è qualcosa di veloce e sporco. Generalmente però per qualcosa che gli utenti useranno, vorrai fare AJAX per rinfrescare le parti della pagina. Per esempio:

setInterval(refresh_table, 30000); 

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

Non può che essere solo location.reload(), invece? – karim79

+0

Ci sono molti modi per ricaricare la pagina. Il mio è certamente piuttosto vecchia scuola. Vedi http://www.mediacollege.com/internet/javascript/page/reload.html – cletus

+0

è la soluzione più semplice per l'aggiornamento automatico di una pagina. – Steven

2

Questo meta tag fa la magia troppo. Si aggiorna la pagina ogni 30 secondi e si può cambiare troppo

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

Problemi correlati