У меня есть образец HTML-страницы с именем pound.html
<body onload="alert('loading')">
<a href="#something">something after #</a><br />
<a href="#">nothing after #</a><br />
<a href="">no # at all</a><br >
</body>
Я добавил в предупреждение, чтобы я мог сказать, когда страница перезагрузится.
Если я нажму на первую ссылку, URL изменится на pound.html#something
, как и ожидалось. Если я нажму на вторую ссылку, она изменится на pound.html#
, снова без перезагрузки. Но если я нажму на третью ссылку, а URL-адрес вернется к pound.html
(нет #
), то перезагрузит страницу.
Я всегда вижу одностраничные приложения, в которых у вас нет #
при запуске, но как только вы ушли в другое место и затем вернетесь на домашнюю страницу, у вас останется #
. Есть ли способ заставить его удалить #
из URL без перезагрузки страницы (например, когда вы возвращаетесь на домашнюю страницу)?
Если вы начинаете с pound.html
, а затем нажимаете на первую ссылку и переходите к pound.html#something
, стрелка возврата браузера может вернуть вас к pound.html
без перезагрузки страницы.
Как уже упоминалось в комментариях, здесь есть много javascript-решений Как удалить хеш из window.location (URL) с помощью JavaScript без обновления страницы?
Однако кто-нибудь знает, есть ли способ удалить ссылку, чтобы сделать это?