2009-12-13 96 views
3

我正試圖從別人的問題上擴展一個想法,並且遇到困難。JavaScript:如何更改地址欄中的哈希而不添加歷史記錄?

的想法是動態插入utm_source(從廣告活動)到URL哈希,已谷歌分析跟蹤的頁面,然後取出哈希值。 (我們不希望保留的哈希,因爲:1。它是一個重複的頁面,並且2.如果用戶的書籤,並回來了,它看起來像另一個廣告點擊)

下面的代碼是幾乎作品:

​​

需要說明的是,它在每個變化增加了兩個項目的歷史記錄(後退按鈕)。

的問題:如何讓我的瀏覽器跳過歷史哈希值發生變化?

回答

17

如果你想跳過添加條目的歷史,然後用window.location.replace代替

window.location.replace("#hash"); 

這樣地址欄上的網址爲更換而不是添加新條目瀏覽器歷史記錄對象

1

可以了離開第二散列變化,只是使用

history.back(); 

回去一步。這會導致後退按鈕中沒有新的頁面,但是前進按鈕上的一頁會在用戶導航到其他地方時消失。

我不認爲你可以防止哈希變化扎進歷史。

相關問題