2011-06-30 26 views
0

我正在嘗試使用onhashchange事件來監視我的URL散列(又名片段),以便根據我存儲在散列中的參數進行適當的ajax調用。不幸的是,有一些意想不到的改變我的散列。在我的所有代碼中,只有一個地方使用window.location.hash,它只是檢查散列的值,而不是改變它。我知道後退和前進按鈕可以更改散列,但我沒有觸及它們。我如何找到散列更改的來源?什麼可以導致URL哈希值更改?


更新

好吧......想通了。是的,我是一個虛擬的人,但是我把我的發現留給了那些和我一樣愚蠢的人。我正在尋找一些改變我的哈希的程序,但是真正發生的是我點擊了一個跟href="#"一樣的主播。有一個事件處理程序掛鉤到這些,我將返回值設置爲false,並阻止它更改URL。

+0

我假設你嘗試在代碼中搜索'location.hash'? – bezmax

回答

1

目標內部錨點的鏈接更改散列。例如:

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

單擊它可以將散列更改爲#contact。另外,如果您使用任何第三方JavaScript庫,那麼可能有一些代碼可能會改變它。

這個散列會改變什麼?從何而來?什麼時候?如果你能確定引發變化的確切情況,那應該讓你瞭解可能會改變它的東西。

+0

賓果 - 這是正確的 – JnBrymn