忽略onclick以防止JS错误

时间:2012-05-24 15:28:43

标签: javascript null google-analytics

我使用了旧的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/

3 个答案:

答案 0 :(得分:0)

只是尝试添加一个假的pageTracker对象(当然,只有先前没有定义它才会更好)

if (!pageTracker) { /* if pageTracker is not defined */
    var pageTracker = {
        "_trackPageview" : function() {

        }            
    }
}

示例小提琴:http://jsfiddle.net/Fvp9F/6/

答案 1 :(得分:0)

你真的很亲密,只需将它变成一个空白对象:

var pageTracker = {_trackPageview: function(){}};

答案 2 :(得分:0)

甚至比添加假/空白的pageTracker对象更好,您应该能够从_gat全局获取pageTracker,并且仍然可以使用旧的跟踪代码。

pageTracker = _gat._getTrackerByName();

一个问题是,您需要确保在加载异步跟踪代码后获取跟踪器_gaq.push()还允许使用函数对象 - 将以下内容添加到异步跟踪代码中应该可以正常工作:

_gaq.push(function() { pageTracker = _gat._getTracker(); });