Jquery mixpanel跟踪链接未正确跟踪

Jquery mixpanel跟踪链接未正确跟踪,jquery,mixpanel,Jquery,Mixpanel,我使用mixpanel的javascript api使用如下代码: $(function() { mixpanel.track_links("a[href~='/posts/more']", "Show more posts.", { "topic_id": "<%= @topic.id.to_guid %>" }); }); $(函数(){ mixpanel.track_链接(“a[href~=”/posts/more'],“显示更多帖子”, {“主题id”:“});

我使用mixpanel的javascript api使用如下代码:

$(function() {
mixpanel.track_links("a[href~='/posts/more']", "Show more posts.",
      { "topic_id": "<%= @topic.id.to_guid %>" });
});
$(函数(){
mixpanel.track_链接(“a[href~=”/posts/more'],“显示更多帖子”,
{“主题id”:“});
});
它似乎不起作用。我尝试过没有单引号的变体,但没有效果

$(function() {
    mixpanel.track_links("a[href~=/posts/more]", "Show more posts.",
          { "topic_id": "<%= @topic.id.to_guid %>" });
});
$(函数(){
mixpanel.track_链接(“a[href~=/posts/more]”,“显示更多帖子”,
{“主题id”:“});
});
上面的代码有问题吗

页面上有以下链接:

<a href="/posts/more?i=20&id=0a5cb302-859e-11e1-8851-24c603d12b60&type=Topic" data-remote="true">Show More...</a>

当我点击它时,不会触发任何事件。

Mixpanel(和Google Analytics)使用AJAX调用将事件发送到服务器,您不能在AJAX调用进行时重定向页面,否则将被取消。信息永远不会到达他们的服务器,事件也不会被跟踪

Mixpanel建议在重定向之前添加一个小的超时,以便完成AJAX调用

我发现了一个解决方法,它使用cookies而不添加超时,但是它不会实时工作。您可以在下面的链接中查看它

更新:我刚刚在Mixpanel官方文档中发现,
track\u links
方法可以为您实现这一点。它将在执行重定向之前等待300毫秒


我认为您可能会遇到这样的问题,因为mixpanel轻量级选择器引擎不支持更丰富的选择器,例如
a[href~=/posts/more]

通过一些快速测试,我认为只有类、id和元素可以工作

我已经就此向他们发送了电子邮件,例如,我确实需要能够将jQuery对象作为选择器传入,但目前还不可能。(显然,过去有人支持,也许会回来)


如果您正在进行临时修复,请添加一个类,然后将其传递给track_links函数,但我知道,这远远不够理想。

Matt Vagni是正确的,Mixpanel JS库包含其自己的基本CSS选择器引擎实现,该引擎非常有限

您可能无法进行属性选择,或者至少不能进行与属性选择匹配的子字符串,通过调试我自己的问题,我知道子选择器和类(例如“p a.foo”)不起作用

更好的方法是使用jQuery(或者页面上已有的任何东西,Rails将为您提供jqlite)来观察您感兴趣的点击并手动跟踪Mixpanel事件

$('body').on('click', 'a[href~=/posts/more]', function() { 
    mixpanel.track("Show more posts.", { "topic_id": "<%= @topic.id.to_guid %>" });
});
$('body')。在('click','a[href~=/posts/more]'上,function(){
track(“显示更多帖子”,{“topic_id”:“});
});

您的选择器正确吗?当您尝试
$([a[href~=/posts/more])