Я пытаюсь перезагрузить текущую страницу с другим хешем URL, но он не работает должным образом.
(Уточнение, как я хочу, чтобы он работал: перезагрузите страницу, а затем перейдите к новому хешу.)
Подход №1:
window.location.hash = "#" + newhash;
Прокручивает только этот якорь без перезагрузки страницы.
Подход № 2:
window.location.hash = "#" + newhash;
window.location.reload(true);
Kinda работает, но он сначала прокручивается до привязки, затем перезагружает страницу, затем снова прокручивается к якорю.
Подход № 3:
window.location.href = window.location.pathname + window.location.search + "&random=" + Math.round(Math.random()*100000) + "#" + newhash;
Работает, но я бы предпочел не добавлять случайный мусор к URL-адресу.
Есть ли лучшее решение?