为了账号安全,请及时绑定邮箱和手机立即绑定

如何在不刷新页面的情况下使用JavaScript从window.Location(URL)中删除哈希

如何在不刷新页面的情况下使用JavaScript从window.Location(URL)中删除哈希

临摹微笑 2019-06-20 11:22:20
如何在不刷新页面的情况下使用JavaScript从window.Location(URL)中删除哈希我的网址是:http://example.com#something,如何删除#something,而不会导致页面刷新?我尝试了以下解决方案:window.location.hash = '';但是,这不会删除散列符号#从URL。
查看完整描述

3 回答

?
不负相思意

TA贡献1777条经验 获得超10个赞

现在最好的解决办法是:

history.replaceState(null, null, ' ');


查看完整回答
反对 回复 2019-06-20
?
绝地无双

TA贡献1946条经验 获得超4个赞

初步问题:

window.location.href.substr(0, window.location.href.indexOf('#'))

window.location.href.split('#')[0]

两者都将返回URL,而不需要散列或之后的任何内容。

关于您的编辑:

任何改变window.location将触发页面刷新。你可以改变window.location.hash如果不触发刷新(但如果您的哈希与页面上的id匹配,则窗口将跳转),但是您无法去掉哈希符号。你选哪个更糟.。

最最新的答案

关于如何在不牺牲(要么完全重新加载,要么留下哈希号)的情况下,正确的答案是在这下面..将这个答案留在这里,在2009年是最初的答案,而使用新浏览器API的正确答案则是在1.5年后给出的。


查看完整回答
反对 回复 2019-06-20
  • 3 回答
  • 0 关注
  • 1621 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信