什么可以导致URL哈希更改?

时间:2011-06-30 13:54:38

标签: javascript url

我正在尝试使用onhashchange事件监视我的URL哈希(a.k.a.片段),以便我可以根据我在哈希中存储的参数进行适当的ajax调用。不幸的是,有一些意外的改变我的哈希。在我的所有代码中,只有一个地方我使用window.location.hash,它只是检查哈希的值,而不是更改它。我知道后退和前进按钮可以改变哈希值,但我没有碰到它们。如何找到散列更改的来源?


更新

好的......明白了。是的,我是个假人,但是我把这些发现留给了那些像我一样愚蠢的人。我正在寻找一些程序化的改变我的哈希值,但真正发生的事情是我点击了{{1}的锚点}。有一个事件处理程序挂钩到这些,我将返回值设置为false,这阻止它更改URL。

1 个答案:

答案 0 :(得分:1)

目标内部锚点的链接会更改哈希值。例如:

<a href="#contact">Contact Us</a>

单击它会将哈希值更改为#contact。

此外,如果您正在使用任何第三方JavaScript库,那么其中的某些代码可能会更改它。

哈希改变了什么?从何而来?什么时候?如果您能够确定触发更改的确切情况,那么您应该知道可能会更改它的内容。