Odśwież stronę przez location.reload(), porównaj to z history.go(0), replace i meta refresh, wygeneruj kod odświeżania w odstępach czasu i dowiedz się, co naprawdę robi reload(true).
Wywołaj location.reload(), aby przeładować bieżącą stronę dokładnie tak, jak robi to przycisk odświeżania w przeglądarce. Nie przyjmuje standardowych argumentów. Stara forma reload(true), mająca pomijać cache, to niestandardowy parametr, który według MDN działa tylko w Firefox, więc inne przeglądarki ignorują true. history.go(0) również przeładowuje stronę.
Sposoby odświeżenia lub zmiany strony
Przeładowanie to jedna linia kodu, ale powody, dla których ludzie po nie sięgają, są różne: pobranie nowych danych, zresetowanie zablokowanego stanu, odświeżanie dashboardu co jakiś czas albo wymuszenie nowej wersji strony. Ten poradnik pokazuje standardowe wywołanie, co naprawdę robią starsze warianty i jak całkowicie uniknąć przeładowania, gdy wystarczy pobrać świeże dane.
Nie w niezawodny sposób. Argument forceGet nie jest częścią standardu HTML, a MDN zaznacza, że obsługuje go tylko Firefox. Inne przeglądarki go ignorują i wykonują zwykłe przeładowanie. Aby mieć pewność, że ludzie dostaną nowe pliki, wersjonuj adresy URL zasobów lub ustaw właściwe nagłówki Cache-Control.
reload() zawsze przeładowuje bieżący dokument. Przypisanie href rozpoczyna nawigację do tego adresu URL, a gdy URL zawiera #fragment, przeglądarka tylko przewija do fragmentu, więc nic się nie przeładowuje. Używaj reload(), gdy chcesz przeładowania.
Bez skryptu dodaj <meta http-equiv="refresh" content="30"> do sekcji head. Ze skryptem użyj setTimeout(() => location.reload(), 30000). Z automatycznego odświeżania korzystaj oszczędnie: MDN ostrzega, że nieoczekiwane odświeżenia mogą dezorientować ludzi i kolidować z wytycznymi WCAG dotyczącymi limitów czasu.
Nie. Wywołanie reload na Location innego originu rzuca SecurityError DOMException, więc skrypt w iframe z innej witryny nie może w ten sposób przeładować strony nadrzędnej, a strona nadrzędna nie może przeładować jego.
Zaznacz, że przeładowanie już nastąpiło, na przykład flagą w sessionStorage lub parametrem zapytania, takim jak ?r=1, i sprawdzaj to przed wywołaniem reload. Bez takiego zabezpieczenia kod, który przeładowuje przy ładowaniu, tworzy nieskończoną pętlę.
Handler kliknięcia wywołuje standardowe przeładowanie bez argumentu.
Ukryte karty są pomijane, a karta, która wraca po upływie interwału, przeładowuje się od razu.
Flaga w sessionStorage przetrwa przeładowanie w tej samej karcie, więc drugie ładowanie je pomija.
Przeglądarki pokazują okno dopiero po tym, jak osoba wejdzie w interakcję ze stroną, i używają własnego tekstu.
Generator kodu odświeżania
Wybierz, jak i jak często strona ma się odświeżać, a potem skopiuj fragment kodu.
Metoda
Przeładuj teraz
Timer JavaScript
Timer, tylko widoczna karta
HTML meta refresh
Co {n} sekund
Fragment kodu
Wypróbuj na tej stronie
location.reload()
history.go(0)
Oba przyciski przeładowują tę stronę. Wszystko, co wpisano powyżej, zostanie utracone.
Zacznij za darmo · Bez karty kredytowej