我正试图从别人的问题中扩展一个想法,并遇到困难。
我们的想法是将utm_source(来自广告系列)动态插入到网址哈希中,让Google Analytics跟踪网页,然后删除哈希。 (我们不想保留哈希,因为:1。它是一个重复的页面,并且2.如果用户为其添加书签并返回,则看起来像是另一个广告点击)
以下是几乎的代码:
// save the old hash var campaignSource = "Some Banner Ad"; var oldHash = document.location.hash; // add campaign data to the hash document.location.hash = 'utm_source=' + escape(campaignSource); pageTracker._setAllowAnchor(true); pageTracker._trackPageview(); // restore the old hash: document.location.hash = oldHash;
需要注意的是,它会在每次更改时为历史记录(后退按钮)添加两个条目。
问题:如何让浏览器跳过哈希更改的历史记录?
答案 0 :(得分:17)
如果您想跳过将条目添加到历史记录中,请改用<{1}}
window.location.replace
这样地址栏上的网址将替换,而不是向浏览器历史记录对象添加新条目
答案 1 :(得分:1)
您可以保留第二个哈希更改并使用
history.back();
退一步。这导致后退按钮中没有新页面,但前进按钮上的一个页面将在用户导航到其他位置时消失。
我认为你不能阻止哈希变化粘在历史中。