2009-08-18 17 views
6

Używam wtyczki Firefox, która może odświeżać okno przeglądarki co X sekund. Jako programista frontendów jest to bardzo przydatne, ponieważ mogę uzyskać natychmiastową informację zwrotną na temat zmian CSS/XHTML od momentu zapisania ich w edytorze.Jak odświeżyć przeglądarkę co X sekund za pomocą javascript?

Zauważyłem jednak, że często przestaje to działać. Zgaduję, że może to wynikać z javascript/jQuery, które dodałem do strony zakłócającej działanie wtyczki.

Zastanawiałem się, czy można dodać tymczasową linię javascript, aby naśladować to automatyczne odświeżanie w razie potrzeby.

Odpowiedz

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

To działa dobrze dla mnie. Jeśli dodasz również odniesienie do odpowiedniego identyfikatora na stronie w adresie URL, np. ... index.html # footer możesz zachować obszar, nad którym obecnie pracujesz, aby było widoczne podczas odświeżania. Miły. – james6848

38

Najprostszym i hackiest rozwiązanie do odświeżania strony jest dodanie tego wewnątrz głowicy:

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

odświeżyć go co 30 sekund.

Można zrobić podobnie z JavaScript wykonując:

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

UWAGA: Istnieje several methods of reloading the page in Javascript więc te będą również pracować:

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

i

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

i innych .

Oba te elementy całkowicie przeładują stronę co 30 sekund. W porządku, jeśli wszystko, co robisz, jest czymś szybkim i brudnym. Ogólnie rzecz biorąc, w przypadku czegoś, z czego użytkownicy będą korzystać, zamiast tego AJAX ma odświeżyć części strony. Na przykład:

setInterval(refresh_table, 30000); 

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

Może to nie tylko być location.reload() zamiast? – karim79

+0

Istnieje wiele sposobów ponownego załadowania strony. Mój jest wprawdzie raczej starą szkołą. Zobacz http://www.mediacollege.com/internet/javascript/page/reload.html – cletus

+0

to najprostsze rozwiązanie do automatycznego odświeżania strony. – Steven

2

Ta meta tag robi magię zbyt. To odświeża stronę po każdych 30 sekund i można go zmienić za

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

Powiązane problemy