小编典典

使用Google Analytics(分析)跟踪AJAX请求

ajax

我正在更改网站的很大一部分以使用jQuery
Address的深层链接AJAX功能。我正在使用URI之类的mysite.com/#!/page1/subpage/

我已经阅读了很多有关使用此_gaq.push()功能跟踪流量的信息,但是我想知道是否有可能以更传统的方式进行此操作…

每个AJAX请求都调用一个PHP函数,该函数生成一个页面并通过<HTML>包装返回它,这使我可以轻松定义自定义页面标题等。

如果我将分析代码放在该页面上,jQuery会调用该页面来触发它来跟踪访问吗?


阅读 261

收藏
2020-07-26

共1个答案

小编典典

好了,您可以使用jQuery的AJAX事件来全局侦听AJAX请求,然后将索引推入_gaq数组(这似乎是最可维护的方法):

$(document).on('ajaxComplete', function (event, request, settings) {
    _gaq.push(['_trackPageview', settings.url]);
});

请注意,这.on()是jQuery 1.7中的新功能,与.bind()本例相同。

另请注意,我尚未测试为全局AJAX事件传递的参数的内容。

更新

您还可以$.globalEval()用来解析AJAX响应正文中加载的脚本:http
:
//api.jquery.com/jquery.globalEval/

success: function(data) {

    var dom = $(data);

    dom.filter('script').each(function(){
        $.globalEval(this.text || this.textContent || this.innerHTML || '');
    });

    $('#mydiv').html(dom.find('#something').html());

}
2020-07-26