Javascript перезагружает страницу с помощью хэш-значения

Я пытаюсь обновить страницу с помощью этого оператора в файле внешнего javascript после некоторых процессов.

window.location.href = window.location.href

Он отлично перезагружает страницу, но я хочу прокрутить ее до определенного места после перезагрузки. Итак, я помещаю это на страницу.

<a name="uploadImgSection"></a>

И измените javascript на

window.location.href = window.location.href + "#mypara";

Этот код не перезагружает/не обновляет страницу

window.location.hash = "#uploadImgSection";
window.location.href = window.location.href;

Когда я это делаю, он не перезагружает страницу вообще. Есть ли способ перезагрузить страницу с помощью полосы прокрутки?

Ответ 1

window.location.href += "#mypara";
location.reload();

Сначала добавьте хэш, затем перезагрузите страницу. Хеш останется там, и страница будет перезагружена.

Протестировано, работает.


ps: Если хэш уже существует в URL-адресе, вы можете напрямую изменить его с помощью location.hash вместо .href.

Ответ 2

Я хотел обновить этот вопрос, потому что обнаружил, что использование window.location.href += "#mypara" будет продолжать добавлять параметр к URL-адресу, даже если он существует. Я нашел лучший способ использовать

window.location.hash = "#mypara"
location.reload();

Ответ 3

Это действительно старый пост, я все равно попытаюсь ответить с правильной комбинацией ответов.

  • location.reload() и location.reload(true) работает как F5 в браузере. Это приведет к отправке всех данных формы обратно на сервер, если ранее была сделана его загрузка.
  • location.href не обновляет страницу до тех пор, пока браузер не обнаружит изменение URL-адреса. изменение хэша (#paramname) не подходит для изменения URL и, следовательно, просто делает location.href+="#paramname" не будет работать.

Итак, location.href+="?anything#paramname" должен перезагрузить страницу как новый запрос, так как ?anything - это изменение URL.

Ответ 4

var loc = location.hash;
location.hash = " ";
location.hash = loc;

Ответ 5

Это сработало для меня:

var tabValue = document.URL;
window.location = tabValue.substring(0, tabValue.lastIndexOf("#"));
window.location.hash = "#tabs-3"; //Whatever is your hash value
location.reload();

Ответ 6

Это сработало для меня

$('body').on('click', '.className', function () {
    var data = $(this).attr('href');
    alert($(this).attr('href'));
    window.location.reload();
});

Ответ 7

Эта работа для меня

window.location.href = baseUrl + "#/m/team";
 location.reload();

Ответ 8

Попробуйте это

           var urlString=window.location.href;
           var url=urlString.split("#")[0];
           window.location.href = url + "#mypara";