将变量传递给Google Analytics ga和hitCallback

时间:2014-09-01 10:42:49

标签: jquery callback google-analytics-api podcast

我试图获取大量播客剧集链接,以便向Google Analytics发送事件通知。我有以下代码:

$('.epdirect').on('click', function(event) {
    event.preventDefault();
    thishref = $(this).attr("href");
    var epfile = querySt($(this).attr("href"),"url");
    ga('send', 'event', 'Downloads', 'epdirect', epfile, {'hitCallback':
        function (thishref) {
                document.location = thishref;
        }
    });
});

每集的链接都有' epdirect'这样添加了类:

<a class="epdirect" href="path/to/my.mp3">Ep1: What's it all for?</a>

并且在使用时,该代码会正确记录Google Analytics中的事件和剧集文件名,但是当它尝试重定向到“#h;&lt; fh;&#39;它失败。在检查时,&#39; thishref&#39;未定义。

&#39; querySt&#39;函数只是从网址中提取QS参数,所以我不认为它与此相关。

我使用&#39; hitCallback&#39;的全部原因。功能是在ga功能成功记录命中之前停止加载剧集。我的想法是对的吗?

最终代码 这现在有效。感谢失踪的&#39; var&#39;。

$('.epdirect').on('click', function(event) {
    event.preventDefault();
    var eppath = $(this).attr("href");
    var epfile = eppath.split('/').pop();
    ga('send', 'event', 'Downloads', 'epdirect', epfile, {'hitCallback': function(){
        document.location = eppath;
    }})
});

谢谢, 本

1 个答案:

答案 0 :(得分:1)

不应该是:

var thishref = $(this).attr("href");

是的 - hitCallback在这里似乎是一个不错的选择。 This是一个很好的参考页面: