javascript:完全删除top.location.hash?

javascript:完全删除top.location.hash?,javascript,hash,Javascript,Hash,如果我的地址栏中已经有一个散列,比如domain.com#whatever,我会调用: top.location.hash=”“ wathever被转换成domain.com,没有任何内容 是否可以完全删除散列?因此没有剩下# 因为如果我调用top.location.hash=”“页面跳转到它的顶部,因为一个#被传递到url。我想防止这种情况发生 window.location = window.location.href.replace( /#.*/, ""); 应该这样做,但会导致页面重新

如果我的地址栏中已经有一个散列,比如domain.com#whatever,我会调用:

top.location.hash=”“

wathever被转换成domain.com,没有任何内容

是否可以完全删除散列?因此没有剩下
#

因为如果我调用
top.location.hash=”“页面跳转到它的顶部,因为一个#被传递到url。我想防止这种情况发生

window.location = window.location.href.replace( /#.*/, "");

应该这样做,但会导致页面重新加载。我认为没有任何方法可以通过编程方式删除它。

不幸的是,如果不刷新页面,就无法可靠地删除它,在这种情况下,您可以使用location.href属性。

可以使用history.pushState,例如:

history.pushState({}, '', './');

当然是这样的,但我不认为OP希望页面重新加载。不重新加载页面?我会说nook,那么是否可以将其设置为“#”,但不使页面跳转到顶部?我不介意url中是否还剩下一个。我只是不想我的网站跳到顶端。我应该回答你的问题。
history.pushState({}, '', './');