Я пытаюсь отслеживать события, когда ссылки нажимаются на моем сайте по методу, подобному следующему.AJAX GET состояние гонки?
<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' работает на события нажатия якорных тегов независимо новая страница загружается.)
Как это предотвращает состояние гонки? Является ли пиксель загружен не-AJAX? Например, загружается ли она на страницу в теге изображения через 'document.write'? Или объект Javascript Image() используется аналогично тому, как предварительно загружать изображения для опрокидывания раньше, чем днем? Я просто хочу убедиться, что я правильно реализую это, чтобы у меня не было такого же гоночного состояния, которое происходит по-новому. Благодаря! :) –
Ну, по сути, работа выполняется на стороне сервера. Единственная ответственность клиента заключается в отправке запроса; он может вставить изображение на страницу, если это необходимо, но реальное действие ударяет по серверу и позволяет серверу записывать то, что было отправлено ему. В этом случае вы можете создать новое изображение, отправить запрос Ajax, загрузить скрипт и т. Д., Пока вы делаете запрос на сервер. – ajm
Хорошо, что возвращает меня к моей проблеме в первую очередь. Я делаю запрос на получение AJAX, но иногда он не доходит до сервера до того, как загружается запрошенная страница на ярлыке привязки. Как я могу гарантировать, что загрузка изображения не будет иметь одинаковую проблему? –