Odpowiedzi:
JavaScript 1.0
window.location.href = window.location.pathname + window.location.search + window.location.hash;
// creates a history entry
JavaScript 1.1
window.location.replace(window.location.pathname + window.location.search + window.location.hash);
// does not create a history entry
JavaScript 1.2
window.location.reload(false);
// If we needed to pull the document from
// the web-server again (such as where the document contents
// change dynamically) we would pass the argument as 'true'.
.reload(true)
zostanie dodany do historii? Jeśli tak, jak tego uniknąć poprzez przeładowanie?
location.reload();
Zobacz tę stronę MDN, aby uzyskać więcej informacji.
Jeśli odświeżasz po onclick
, musisz natychmiast zwrócić wartość false
location.reload();
return false;
location.reload()
i window.location.reload()
?
location
jest taka sama jak window.location
za window
to globalny obiekt.
return false;
jeśli dzwonisz do tego z kliknięcia linku.
window.location.reload();
na czytelność, ponieważ location
może to być zmienna lokalna - podczas gdy zwykle unikamy zmiennych o nazwie window
.
Oto 535 sposobów na przeładowanie strony za pomocą JavaScript , z których najłatwiej jest location = location
.
Oto pierwsze 50:
location = location
location = location.href
location = window.location
location = self.location
location = window.location.href
location = self.location.href
location = location['href']
location = window['location']
location = window['location'].href
location = window['location']['href']
location = window.location['href']
location = self['location']
location = self['location'].href
location = self['location']['href']
location = self.location['href']
location.assign(location)
location.replace(location)
window.location.assign(location)
window.location.replace(location)
self.location.assign(location)
self.location.replace(location)
location['assign'](location)
location['replace'](location)
window.location['assign'](location)
window.location['replace'](location)
window['location'].assign(location)
window['location'].replace(location)
window['location']['assign'](location)
window['location']['replace'](location)
self.location['assign'](location)
self.location['replace'](location)
self['location'].assign(location)
self['location'].replace(location)
self['location']['assign'](location)
self['location']['replace'](location)
location.href = location
location.href = location.href
location.href = window.location
location.href = self.location
location.href = window.location.href
location.href = self.location.href
location.href = location['href']
location.href = window['location']
location.href = window['location'].href
location.href = window['location']['href']
location.href = window.location['href']
location.href = self['location']
location.href = self['location'].href
location.href = self['location']['href']
location.href = self.location['href']
...
window.window.window['window'].location = window['window'].window['window']['window']['window']['window']['window']['window']['location']
Możesz wykonać to zadanie za pomocą window.location.reload();
. Ponieważ istnieje wiele sposobów, aby to zrobić, ale uważam, że jest to odpowiedni sposób na ponowne załadowanie tego samego dokumentu za pomocą JavaScript. Oto wyjaśnienie
window.location
Można użyć obiektu JavaScript
window
: w JavaScript reprezentuje otwarte okno w przeglądarce.
location
: w JavaScript zawiera informacje o bieżącym adresie URL.
location
Obiekt jest jak fragment window
obiektu i nazywa się po window.location
obiekcie.
location
obiekt ma trzy metody:
assign()
: używane do załadowania nowego dokumentureload()
: służy do ponownego załadowania bieżącego dokumentureplace()
: używane do zastąpienia bieżącego dokumentu nowymWięc tutaj musimy użyć reload()
, ponieważ może nam pomóc w przeładowaniu tego samego dokumentu.
Więc użyj tego jak window.location.reload();
.
Aby poprosić przeglądarkę o pobranie strony bezpośrednio z serwera, a nie z pamięci podręcznej, możesz przekazać true
parametr do location.reload()
. Ta metoda jest kompatybilna ze wszystkimi głównymi przeglądarkami, w tym IE, Chrome, Firefox, Safari, Opera.
replace()
okazało się rozwiązaniem, którego szukałem, ponieważ musiałem ponownie załadować stronę z niewielką zmianą ciągu zapytania.
Próbować:
window.location.reload(true);
Parametr ustawiony na „prawda” ponownie ładuje świeżą kopię z serwera. Pozostawienie go spowoduje wyświetlenie strony z pamięci podręcznej.
Więcej informacji można znaleźć na stronie witrynie MSDN oraz w dokumentacji Mozilli .
Szukałem niektórych informacji dotyczących przeładowań na stronach pobranych za pomocą żądań POST, na przykład po przesłaniu method="post"
formularza.
Aby ponownie załadować stronę z danymi POST, użyj:
window.location.reload();
Aby ponownie załadować stronę odrzucającą dane POST (wykonaj żądanie GET), użyj:
window.location.href = window.location.href;
Mam nadzieję, że może to pomóc innym szukającym tych samych informacji.
POST
żądaniem.
GET
i POST
metodami
window.location.href = window.location.href
nie ładuje strony ponownie, jeśli bieżący adres URL zawiera #
. Możesz usunąć skrót, jeśli go nie potrzebujesz window.location.href = window.location.href.split('#')[0];
.
Aby ponownie załadować stronę za pomocą JavaScript, użyj:
window.location.reload();
To działa dla mnie:
function refresh() {
setTimeout(function () {
location.reload()
}, 100);
}
Jeśli umieścisz
window.location.reload(true);
na początku strony, bez żadnych innych warunków określających, dlaczego ten kod działa, strona zostanie załadowana, a następnie będzie się ładować ponownie, dopóki nie zamkniesz przeglądarki.
location.href = location.href;
location.reload()
?
Za pomocą przycisku lub po prostu umieść go w tagu „a” (kotwicy):
<input type="button" value="RELOAD" onclick="location.reload();" />
Wypróbuj te dla innych potrzeb:
Location Objects has three methods --
assign() Used to load a new document
reload() Used to reloads the current document.
replace() Used to replace the current document with a new one
history.go()
Automatyczne ładowanie strony po 20 sekundach.
<script>
window.onload = function() {
setTimeout(function () {
location.reload()
}, 20000);
};
</script>
Dziękuję, ten post był bardzo pomocny, nie tylko w celu ponownego załadowania strony z sugerowaną odpowiedzią, ale także dał mi pomysł na umieszczenie ikony przycisku jQuery w przycisku:
<button style="display:block; vertical-align:middle; height:2.82em;"
title="Cargar nuevamente el código fuente sin darle un [Enter] a la dirección en la barra de direcciones"
class="ui-state-active ui-corner-all ui-priority-primary"
onclick="javascript:window.location.reload(true);">
<span style="display:inline-block;" class="ui-icon ui-icon-refresh"></span>
[<b>CARGAR NUEVAMENTE</b>]
</button>
To powinno działać:
window.location.href = window.location.href.split( '#' )[0];
lub
var x = window.location.href;
x = x.split( '#' );
window.location.href = x[0];
Wolę to z następujących powodów:
Alternatywnie, możesz użyć najnowszej oficjalnej metody do tego zadania
window.location.reload()
Metoda reload () służy do ponownego załadowania bieżącego dokumentu.
Metoda reload () działa tak samo jak przycisk reload w przeglądarce.
Domyślnie metoda reload () ponownie ładuje stronę z pamięci podręcznej, ale można zmusić ją do ponownego załadowania strony z serwera, ustawiając parametr forceGet na true: location.reload (true).
location.reload();
Możesz po prostu użyć
window.location=document.URL
gdzie document.URL pobiera bieżący adres URL strony, a window.location przeładowuje go.