Загрузить Google Analytics из документа jQuery? - PullRequest
6 голосов
/ 12 мая 2009

Проблема в том, что GA иногда требуется немного времени для загрузки, и мои функции jQuery ready () не запускаются, пока это не будет сделано. Я хотел бы переместить сам код GA в конец функции ready (). Мне не нужна дополнительная интеграция с отслеживанием кликов - я просто хочу, чтобы мои готовые () скрипты запускались первыми.

Мои вопросы: 1) Будет ли перемещение кода GA каким-либо образом нарушать отслеживание их статистики? А также, 2) Нужно ли имитировать использование ими двух тегов сценария (один, который генерирует внешний тег сценария, и другой, который вызывает функцию)? Если да, то почему и как лучше всего это сделать в функции jQuery?

Чтобы объяснить # 2, вот код GA, который в настоящее время идет непосредственно перед закрывающим тегом body:

<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-8704511-1");
pageTracker._trackPageview();
} catch(err) {}</script>

Ответы [ 3 ]

5 голосов
/ 12 мая 2009
3 голосов
/ 25 февраля 2010

Похоже, что Google также решил эту проблему - посмотрите этот более свежий вопрос Переполнение стека

1 голос
/ 12 мая 2009

Причина наличия двух блоков скриптов заключается в том, что скрипт в первом блоке вставляет ссылку на файл JavaScript Google Analytics между двумя блоками. Если бы все это находилось в одном и том же блоке, трекер попытался бы инициализироваться до его загрузки. Так что # 2 определенно верно, вам нужно иметь или эмулировать два тега скрипта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...