2009-10-08 18 views
8

mam prosty wniosek, aby odświeżyć stronę za pomocą kodu JavaScript poniżej:wymusić odświeżenie strony przy użyciu JavaScript w Firefoksie

function tb_closeRefresh() { 
    window.location.reload(true); 
} 

to działa prawidłowo w IE, ale Firefox po prostu staje wersję pamięci podręcznej i wymaga od użytkownika naciśnij klawisz F5, aby pobrać najnowszą wersję strony.

Dodałem meta tag:

<meta http-equiv="Pragma" content="no-cache"> 

Ale to nie pomaga.

Jakieś pomysły ???

Odpowiedz

11

można nazwać tę samą stronę, ale niech to wyglądało, że jest inne strona zmieniając ciągu kwerendy:

window.location.href = "index.html" + "?" + Date.parse(new Date()); 

To działa na każdej przeglądarce. Możesz go poprawić, wyodrębniając bieżącą stronę z numeru location.href.

Edit:

Jeśli masz już istniejącej kwerendy trzeba użyć & INSEAD z ?:

window.location.href = "product.aspx?id=prod" + "&" + Date.parse(new Date()); 
+0

+1, właśnie chciałem to opublikować. Jest to metoda, której używam za każdym razem, gdy strona wymaga przeładowania przez JS. – Duroth

+0

Dzięki za odpowiedź. Wypróbowałem to i nie zadziałało. Mogę tylko założyć, że to dlatego, że używam przepisywania adresów URL do ponownego zapisu/product_name/do product.aspx? Id = prod. Ale, nie pewne? –

2

spróbować

function page_reload() 
{ 
    window.location = 'http://domain.com/page.php'; 
} 

lub

<a href="javascript:history.go(0);">Click here to refresh the page</a> 
8

Jeśli chcesz odświeżyć, możesz zresetować window.location na window.location.

window.location = window.location 

Przypisywanie window.location wykona przekierowanie, a od window.location zwraca bieżącą lokalizację, oświadczenie powyżej będzie działać jako przekierowania.

+1

Próbowałem tego, ale strona nie ładuje się wcale :) –

+0

Działa świetnie !!!! – Schotime

+0

@ Chris: w jakiej przeglądarce? –

1

Nie sądzę Firefox obsługuje reload, należy użyć:

var myUrl = window.location; 
window.location.replace(myUrl) 

Okazało się, że to działa w IE, Apple Safari i Firefox. Wydaje się, że NIE działa w Firefoksie na Macu.

0

może te będą działać?:

<meta http-equiv="Cache-control" content="no-cache"> 
<meta http-equiv="Cache-control" content="no-store"> 
+1

oh wow ... kod został usunięty na forum kodowania? może to zadziała ?: ## ## asd

Powiązane problemy