无法在jquery中触发GA事件

时间:2014-05-07 03:10:25

标签: jquery google-analytics

dp("a.download-2").click(function(){

    var e=dp(this).attr("id");
    var t=dp(this).attr("name");
    var n=dp(this).attr("rel");
    var r=navigator.platform;
    var i=r.substring(0,3);

    if(i=="Win"){
        jQuery("#fb_pixel").addClass("fb_conversion");

        _gaq.push(["_trackEvent",n,"download",t]);

        window.location.href="http://"+e+".rackcdn.com/abc123.exe";
    }else if(i=="Mac"){
        jQuery("#fb_pixel").addClass("fb_conversion");

        _gaq.push(["_trackEvent",n,"download",t]);

        window.location.href="http://"+e+".rackcdn.com/abc123.dmg";

    }else{
        alert("The software only supports Windows and Mac operating system.");return false}});

此代码中的跟踪无效。

但如果我在GA跟踪事件代码下添加一个警报代码。跟踪工作正常。像下面的代码,

dp("a.download-2").click(function(){

    var e=dp(this).attr("id");
    var t=dp(this).attr("name");
    var n=dp(this).attr("rel");
    var r=navigator.platform;
    var i=r.substring(0,3);

    if(i=="Win"){
        jQuery("#fb_pixel").addClass("fb_conversion");

        _gaq.push(["_trackEvent",n,"download",t]);
        alert(n+" "+t);

        window.location.href="http://"+e+".rackcdn.com/abc123.exe";
    }else if(i=="Mac"){
        jQuery("#fb_pixel").addClass("fb_conversion");

        _gaq.push(["_trackEvent",n,"download",t]);
        alert(n+" "+t);

        window.location.href="http://"+e+".rackcdn.com/abc123.dmg";

    }else{
        alert("The software only supports Windows and Mac operating system.");return false}});

我不知道为什么这个警报会影响。在右边它不应该。

先谢谢。

1 个答案:

答案 0 :(得分:1)

window.location.href="http://"+e+".rackcdn.com/abc123.exe";强制浏览器在您的GA代码有机会工作之前重定向。

因此,您可以在编写GA代码后尝试在代码中使用setTimeout。这样,您可以确保在重定向页面之前运行GA代码。

alert有效,因为它会暂停执行,直到您点击“确定”为止,这是世界上任何javascript在此之前工作的足够时间。