编程语言
首页 > 编程语言> > 如何在没有页面刷新的情况下使用JavaScript从window.location(URL)中删除哈希?

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

作者:互联网

我有这样的URL:http://example.com#something,如何删除#something,而不会导致页面刷新?

我尝试了以下解决方案:

window.location.hash = '';

但是,这不会从URL中删除哈希符号#.

解决方法:

初步问题:

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

要么

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

两者都将返回没有哈希的URL或其后的任何内容.

关于你的编辑:

对window.location的任何更改都将触发页面刷新.您可以在不触发刷新的情况下更改window.location.hash(尽管如果您的哈希值与页面上的id匹配,窗口将跳转),但您无法摆脱哈希符号.选择哪个更糟……

最新的答案

关于如何在不牺牲(完全重新加载或在那里留下哈希标志)的情况下做到这一点的正确答案是down here.虽然这里的答案是2009年的原始答案,但是利用新浏览器API的正确答案是1.5多年后.

标签:window-location,fragment-identifier,javascript
来源: https://codeday.me/bug/20190911/1803480.html