Я пытаюсь отследить события, когда ссылки нажимаются на моем сайте, следующим образом:
<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 ... Я просто хочу, чтобы он пропинговал сервер с фактом, что произошло событие.
(Кроме того, я ожидаю, что получу хотя бы один ответ, в котором будет сказано просто отслеживать загрузку новой страницы со стороны сервера, а не со стороны клиента. Это неприемлемый ответ на этот вопрос. Я ищучто-то вроде того, как функция trackPageview
в Google Analytics работает с событием нажатия тегов привязки независимо от загружаемой новой страницы.)