Preferowana metoda ponownego załadowania strony z JavaScriptem? [Zamknięte]

103

jaki sposób przeładowania bieżącej strony (za pomocą przycisku) wolisz?

1 <input type="button" value="Reload" onClick="history.go(0)">
2 <input type="button" value="Reload" onClick="location.reload(true)">
3 <input type="button" value="Reload" onClick="window.location.reload(true)">
4 <input type="button" value="Reload" onClick="window.location.href=window.location.href">
5 <input type="button" value="Reload" onClick="document.location.reload(true)">
6 <input type="button" value="Reload" onClick="document.location.href=document.location.href">

Ponieważ adres URL strony często się zmienia, AFAIK jest to „funkcja rezerwowa”, taka jak

<a href="urlOfCurrentPage.html" onclick="window.location.reload(true);return false;">Reload</a>

nie zadziała dla mnie, prawda?

Mel
źródło
Zauważ, że numery 2 i 3 to to samo
Matti Virkkunen
3
Numery 4 i 6 nie załadują niczego ponownie, jeśli w
adresie
2
Numery 2, 3 i 5 nie są implementowane we wszystkich przeglądarkach, użyj *.location.reload()jako argumentu tylko do określenia, czy pamięć podręczna powinna być ignorowana. stackoverflow.com/questions/10876244/…
Dead.Rabit
OP pominął najbardziej preferowaną metodę ze wszystkich: location.reload ();
Doug S

Odpowiedzi:

57

Zależy od tego, co chcesz zrobić. Czwarta i szósta metoda nie powoduje przeładowania żadnych danych formularza, w zasadzie powoduje oddzielną wizytę na stronie. Niektóre wersje przeglądarki Firefox mają również problemy z trzecią metodą. Poza tym piąty wybrałbym jako osobiste preferencje. Wydaje się to najwyraźniejsze.

tloflin
źródło
W niektórych przypadkach druga metoda (.reload) nie działa.
Aristos,
tak więc „document.location.reload (true)” jest bezpieczna dla różnych przeglądarek i najbardziej niezawodna?
Mel
@Mel, tak mi się wydaje. Naprawdę, okno i dokument powinny działać.
tloflin
10
zwróć uwagę, że kiedy używasz document.location.reload () w POST, przeglądarka zapyta Cię, czy chcesz ponownie wysłać dane w celu ponownego załadowania strony.
wimh
Wimmel, tak, aby to naprawić, używając wzorca PRG: en.wikipedia.org/wiki/Post/Redirect/Get
Sarel Botha
30

Możesz też:

wdreprezentuje okno || dokument :

  • wd.location. assign (wd.location.href) : przejdź do adresu URL
  • wd.location.replace (wd.location.href) : przejdź do adresu URL i zastąp poprzednią stronę w historii
  • wd.location.reload (<true / false / blank>) : przeładuj stronę z serwera / pamięci podręcznej / pamięci podręcznej
vol7ron
źródło