Показать сообщение отдельно
  #3 (permalink)  
Старый 31.07.2019, 14:25
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от redBaron
например у меня есть страница first.html со ссылкой
<div id="mylink"></div>

нужно перейти на страницу second.html к якорю #myanchor

js
document.getElementById('mylink').onclick = function(){
window.location.replace("http://second.html#myanchor");
}
Это не ссылка, ссылка делается намного проще!

страница first.html
<a href="second.html#myanchor">Go!</a>


Сообщение от redBaron
как убрать #myanchor из загрузившейся страницы
на странице second.html добавьте...
<script>

if(location.hash !== "") {
	sessionStorage.hash = location.hash;
	location.replace(location.pathname);
} else {
	if("hash" in sessionStorage) {
		document.querySelector(sessionStorage.hash).scrollIntoView();
		delete sessionStorage.hash;
	}
}

</script>


Сообщение от Poznakomlus
вариант
window.addEventListener("popstate", function () {
       history.pushState('', '', location.pathname)
    });
Событие popstate не происходит при загрузке страницы! Оно происходит при смене активного состояния в истории. А зачем вам в состоянии пустая строка? Кстати, url можно не указывать!

Последний раз редактировалось Malleys, 31.07.2019 в 14:30.
Ответить с цитированием