Javascript:document.url没有锚(哈希)部分

Bin*_*ing 5 javascript url anchor get window

我已经尝试了30分钟的搜索,所以如果已经被问过,我会道歉.

我有一些Ajax返回一组结果,当点击一个结果时,它只需将带有附加数据的URL重新加载到下一页的PHP to GET的URL.问题是,如果用户点击某些内置锚点(我无法删除),则URL将something.com#location1如此附加,?action=next将其转换something.com#location1?action=next为浏览器解释为长锚,而不是实际指向的新URL.

如果用户从不点击锚点部分,则此重定向可以顺利使用 window.location=document.url+"?action=next"

有没有办法从现有页面的URL中删除锚点(包括哈希标记)?

解决了

使用Michael W的答案,我能够解决它.我只是替换了这一行:

window.location=document.url+"?action=next"

有了这个:

window.location=document.location.href.match(/(^[^#]*)/)[0]+"?action=next"

谢谢您的帮助!

say*_*yap 9

这似乎有点简单:

document.URL.replace(/#.*$/, "")
Run Code Online (Sandbox Code Playgroud)


Mic*_*l W 5

您可以匹配该位置的预标签部分:

document.location.href.match(/(^[^#]*)/)
Run Code Online (Sandbox Code Playgroud)

  • 对于那些读取:这将返回一个数组.指定第一个元素对我有用:`window.location = document.location.href.match(/(^ [^#]*)/)[0]`我完全使用`document.url`中止了. (4认同)