当我在与要导航的页面不同的页面中间进行锚定调用时,浏览器的URL从锚定中删除哈希号,但返回到初始值。
最大的问题是,当我终于摆脱哈希之后,锚点超链接停止工作。
我尝试了不同的方法来解决此问题,但目前没有任何效果。
<a href="index.php#has1" onclick="changeURL()">Seccion1</a>
function changeURL() {
window.history.replaceState( {} , 'index.php#has1', 'index.php' );
alert("the url changes, but when I close alert, url returns to its origin");
}
其他未成功的选择:
//window.history.pushState(null, "", "index.php");
//window.location.hash='';
<script>
$('index.php#promo').click(function(){
event.preventDefault();
//the rest of the function is the same.
});
</script>
预期结果:“ www.mysite.com/index.php”
当前结果:“ www.mysite.com/index.php.#has1”