2009-12-13 64 views
3

我正试图从别人的问题上扩展一个想法,并且遇到困难。JavaScript:如何更改地址栏中的哈希而不添加历史记录?

的想法是动态插入utm_source(从广告活动)到URL哈希,已谷歌分析跟踪的页面,然后取出哈希值。 (我们不希望保留的哈希,因为:1。它是一个重复的页面,并且2.如果用户的书签,并回来了,它看起来像另一个广告点击)

下面的代码是几乎作品:

​​

需要说明的是,它在每个变化增加了两个项目的历史记录(后退按钮)。

的问题:如何让我的浏览器跳过历史哈希值发生变化?

回答

17

如果你想跳过添加条目的历史,然后用window.location.replace代替

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

这样地址栏上的网址为更换而不是添加新条目浏览器历史记录对象

1

可以了离开第二散列变化,只是使用

history.back(); 

回去一步。这会导致后退按钮中没有新的页面,但是前进按钮上的一页会在用户导航到其他地方时消失。

我不认为你可以防止哈希变化扎进历史。

相关问题