如何在没有页面刷新的情况下使用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