Próbuję odświeżyć stronę tym oświadczeniem w zewnętrznym pliku javascript po niektórych procesach.
window.location.href = window.location.href
Doskonale ładuje ponownie stronę, ale po przeładowaniu chcę przewinąć do określonej lokalizacji. Więc umieściłem to na stronie.
<a name="uploadImgSection"></a>
I zmień javascript na
window.location.href = window.location.href + "#mypara";
Ten kod również nie ładuje / odświeża strony
window.location.hash = "#uploadImgSection";
window.location.href = window.location.href;
Kiedy to robię, w ogóle nie ładuje strony. Czy jest jakiś sposób na ponowne załadowanie strony z pozycją paska przewijania?
javascript
jquery
Jonas T
źródło
źródło
window.location.href
? jeśli robisz to przy ładowaniu strony i naciskasz f5 i używasz przeglądarki Firefox (lub innej przeglądarki, która przewija miejsce, w którym byłeś przed f5 przy odświeżaniu), może to być problemOdpowiedzi:
window.location.href += "#mypara"; location.reload();
Najpierw dodaj hash, a następnie załaduj ponownie stronę. Hash pozostanie tam, a strona zostanie ponownie załadowana.
Przetestowane, działa.
ps: Jeśli hash już istnieje w adresie URL, możesz chcieć zmienić go bezpośrednio za pomocą
location.hash
zamiast.href
.źródło
Chciałem zaktualizować to pytanie, ponieważ stwierdziłem, że użycie
window.location.href += "#mypara"
będzie kontynuowało dołączanie parametru do adresu URL, nawet jeśli istnieje. Znalazłem lepszy sposób na użyciewindow.location.hash = "#mypara" location.reload();
źródło
To naprawdę stary post, nadal spróbuję odpowiedzieć właściwą kombinacją odpowiedzi.
location.reload()
ilocation.reload(true)
działa jak F5 w przeglądarce. Spowoduje to wysłanie wszystkich danych formularza z powrotem na serwer, jeśli wcześniej to zrobiło.location.href
nie odświeży strony, dopóki przeglądarka nie rozpozna zmiany adresu URL. zmiana w hashu (#paramname) nie kwalifikuje się do zmiany adresu URL i dlatego samo działanielocation.href+="#paramname"
nie będzie działać.Dlatego
location.href+="?anything#paramname"
należy ponownie załadować stronę jako nowe żądanie, tak jak?anything
zmienia się adres URL.źródło
var loc = location.hash; location.hash = " "; location.hash = loc;
źródło
Spróbuj tego
var urlString=window.location.href; var url=urlString.split("#")[0]; window.location.href = url + "#mypara";
źródło
To zadziałało dla mnie:
var tabValue = document.URL; window.location = tabValue.substring(0, tabValue.lastIndexOf("#")); window.location.hash = "#tabs-3"; //Whatever is your hash value location.reload();
źródło
Ta praca dla mnie
window.location.href = baseUrl + "#/m/team"; location.reload();
źródło
To zadziałało dla mnie
$('body').on('click', '.className', function () { var data = $(this).attr('href'); alert(data); window.location.reload(); });
źródło