从url中删除哈希不需要';使用ESC(JavaScript)时不能在Firefox中工作

从url中删除哈希不需要';使用ESC(JavaScript)时不能在Firefox中工作,javascript,url,firefox,href,window.location,Javascript,Url,Firefox,Href,Window.location,我有一个使用以下代码从URL中删除哈希的函数: window.location.href = window.location.href.split('#')[0]; 该功能通过单击某个页面元素或按ESC键触发。这两种方法在Chrome中都能很好地工作,但在Firefox中,ESC键不会删除散列,而按page元素则会删除散列。 我尝试过其他方法来删除散列部分,例如 location.href.replace(location.hash,"") 但结果是一样的。我知道该函数是由FF中的ESC键触

我有一个使用以下代码从URL中删除哈希的函数:

window.location.href = window.location.href.split('#')[0];
该功能通过单击某个页面元素或按ESC键触发。这两种方法在Chrome中都能很好地工作,但在Firefox中,ESC键不会删除散列,而按page元素则会删除散列。 我尝试过其他方法来删除散列部分,例如

location.href.replace(location.hash,"")
但结果是一样的。我知道该函数是由FF中的ESC键触发的,因为其中的其他代码(例如隐藏覆盖)成功执行。
任何想法都将不胜感激

你们已经看到->是的,但我的问题不是关于刷新。使用我发布的代码,除了在Firefox中,当使用ESC触发散列删除函数时,一切都可以完美地工作。因此,如果您使用另一个按钮触发它,它就可以工作了?下面的代码在FF中删除散列,但一旦我滚动鼠标滚轮,散列就会返回:var scrollV,scrollH,loc=window.location;if(历史中的“pushState”)history.pushState(“”,document.title,loc.pathname+loc.search);else{scrollV=document.body.scrollTop;scrollH=document.body.scrollLeft;loc.hash=“”;document.body.scrollTop=scrollV;document.body.scrollLeft=scrollH;}是的,当使用附加了onmousedown事件的页面元素触发时,该函数在两种浏览器中都能工作。