我使用了旧的Google Analytics代码,并拥有一系列附有pageTracker功能的链接,因此他们也会计算每次点击。好吧,现在我升级到最新的GA,pageTracker不再工作,这没关系,但链接在IE中显示JS错误,因为pageTracker未定义。我不想浏览所有链接并删除所有pageTracker onclicks,但只想找到一种方法来取消它们,这样它们就不会导致错误。
我试过var pageTracker =“”;和var pageTracker = null;但仍然得到一个未定义的错误。这就是链接的样子。
<p><a href="/gotowebsite/" onclick="javascript: pageTracker._trackPageview('/GoToTheWebsiteLink');">Go to the website</a><br />
这是JSFiddle。当您单击IE中的链接时,您会在短时间内看到JS错误,直到下一页加载为止。 http://jsfiddle.net/Fvp9F/
答案 0 :(得分:0)
只是尝试添加一个假的pageTracker
对象(当然,只有先前没有定义它才会更好)
if (!pageTracker) { /* if pageTracker is not defined */
var pageTracker = {
"_trackPageview" : function() {
}
}
}
答案 1 :(得分:0)
你真的很亲密,只需将它变成一个空白对象:
var pageTracker = {_trackPageview: function(){}};
答案 2 :(得分:0)
甚至比添加假/空白的pageTracker对象更好,您应该能够从_gat全局获取pageTracker,并且仍然可以使用旧的跟踪代码。
pageTracker = _gat._getTrackerByName();
一个问题是,您需要确保在加载异步跟踪代码后获取跟踪器。 _gaq.push()
还允许使用函数对象 - 将以下内容添加到异步跟踪代码中应该可以正常工作:
_gaq.push(function() { pageTracker = _gat._getTracker(); });