#javascript #google-analytics
#javascript #google-analytics
Вопрос:
код Google для вставки Google Analytics:
http://www.google.com/support/analytics/bin/answer.py?answer=174090
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXX-X']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
зачем просто вставлять прямой код:
<script type="text/javascript" async="true" src="https://www.google-analytics.com/ga.js">
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXX-X']);
_gaq.push(['_trackPageview']);
</script>
Заранее спасибо,
Комментарии:
1. ? Я не понимаю, что вы пытаетесь спросить.
2. потому что ваш почему они не делают это таким образом, код неправильный, использует
www
вместоssl
🙂3. @Yosef — вам нужна дополнительная информация здесь? Я считаю, что на вопрос был дан ответ
Ответ №1:
Они указывают причину, по которой они используют асинхронный фрагмент в том документе, который вы связали:
Одним из основных преимуществ асинхронного сниппета является то, что вы можете разместить его в верхней части HTML-документа. Это увеличивает вероятность того, что отслеживающий маяк будет отправлен до того, как пользователь покинет страницу. Обычно код JavaScript размещается в разделе, и мы рекомендуем размещать фрагмент кода внизу раздела для лучшей производительности.
Комментарии:
1. я спрашиваю, почему бы не вставить непосредственно местоположение скрипта, а не почему асинхронный
2. @Yosef это то же самое. Косвенная вставка приводит к асинхронному вводу во многие браузеры, которые явно не поддерживают этот
async
атрибут. Протокол является его частью, но это более важно. В противном случае они могли бы просто сделать<script src="//www.google-analytics.com/ga.js</script>
, и он загрузился бы с использованием соответствующих протоколов.
Ответ №2:
Это делается таким образом, чтобы он мог загружать js-файл, используя правильный протокол (http:// или https://)
Ответ №3:
Код GA представляет собой универсальный фрагмент для включения скрипта на каждой странице с использованием соответствующего протокола. Страницы, обслуживаемые по протоколу https, загружают скрипт GA по защищенному соединению. Страницы в других протоколах обслуживаются по обычному протоколу (http).
Значительная часть кода показана ниже:
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') '.google-analytics.com/ga.js';
Эквивалентно:
if ('https:' == document.location.protocol) {
ga.src = 'https://ssl.google-analytics.com/ga.js';
} else {
ga.src = 'http://www.google-analytics.com/ga.js';
}
Комментарии:
1. но если я программист, я могу сделать код, который я предлагаю, правильно?
2. @Yosef Если вы управляете большим веб-сайтом, где страницы обслуживаются как по защищенным (HTTPS), так и по обычным соединениям, исходный код — лучший способ. Если вы на 10000% уверены, что никогда не собираетесь использовать https, ваш предлагаемый код также является вариантом.
Ответ №4:
Потому что им нужно убедиться, что у них правильный протокол. Они должны обмениваться данными по протоколу HTTPS, когда отслеживаемая страница передается по протоколу HTTPS.
Комментарии:
1. так что я могу также указать URL-адрес https, если моя страница через http
2. Если вы чувствуете себя нормально, заходя на каждую страницу, которая у вас есть, и определяя, используете ли вы http или https на этой странице, я не против. Я добавлю это на страницу своего шаблона один раз и никогда больше не буду смотреть на него.
Ответ №5:
Я знаю, что если IE загружает контент через соединение https ssl, он не будет загружать ничего связанного через http, поэтому ваш код отслеживания никогда не будет загружен.