我正在尝试以类似于以下的方法在我的网站上单击链接时跟踪事件。
<a href="/example" class="track">Example</a>
<script type="text/javascript">
jQuery(function($) {
// track clicks on all anchor tags that require it
$('a.track').live('click', function(e) {
// send an AJAX request to our event tracking URL for the server to track it
$.get('/events/track', {
url: $(this).attr('href'),
text: $(this).text()
});
});
});
</script>
我遇到的问题是新页面加载中断了 AJAX 请求,因此有时这些事件没有被跟踪。我知道 Google Analytics 有一个_trackPageview
可以附加到 onclick 事件的功能,这似乎不是问题。我想知道他们的电话与我的电话有什么不同,我看到了这种比赛条件,而 GA 没有。例如:
<a href="/example" onclick="javascript:pageTracker._trackPageview('/click/example');">Example</a>
请注意,我并不担心 AJAX 请求的结果......我只是希望它通过事件发生的事实来 ping 服务器。
(另外,我希望我会得到至少一个答案,说只是从服务器端而不是客户端跟踪新页面加载。这不是这个问题的可接受答案。我正在寻找类似的东西trackPageview
无论是否加载新页面,Google Analytics 的功能都适用于锚标记的点击事件。)