Внедрение Google Analytics без доступа к исходному коду HTML - PullRequest
1 голос
/ 24 января 2011

Это, вероятно, очень простой вопрос с, надеюсь, простым ответом.Я использую CMS (TeamSite) и пытаюсь добавить Google Analytics на сайт.Проблема в том, что CMS генерирует HTML, и я не могу добавить код Google Analytics непосредственно перед закрывающим тегом </head>, как вам говорит Google.Другой метод добавления GA на ваш сайт - добавить JavaScript перед закрывающим тегом </body>.Теперь я сделал это, но TeamSite, похоже, размещает HTML-комментарии вокруг JavaScript.Теперь, не звуча как полный дурак, означает ли это, что браузер будет игнорировать JavaScript и не будет его выполнять?Код ниже:

<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"));
try{
// --></script>
<script type="text/javascript"><!--
var pageTracker = _gat._getTracker("UA-20657322-12");
pageTracker._trackPageview();
} catch(err) {}
// --></script>

Есть ли другой способ добавить GA на сайт без необходимости извлечения файла с рабочего сервера и добавления сценария вручную перед закрывающим тегом </head>?Любая помощь будет высоко ценится.

Спасибо

Ответы [ 2 ]

2 голосов
/ 24 января 2011

Если теги комментариев HTML вставлены до и после тегов your и, Javascript не будет работать. Если он внутри тега script, все должно работать нормально.

Убедитесь сами:

<html>
<head><title>test</title></head>
<body>

<script>
alert('not commented');
</script>

<!--
<script>
alert('outside commented');
</script>
-->

<script>
//<!--
alert('inside commented');
//-->
</script>

</body></html>

Первое и третье оповещение сработают, а второе - нет. Как упоминается в приведенном ниже постере, это связано с обратной совместимостью, поэтому старые браузеры, не поддерживающие Javascript, не запутаются.

0 голосов
/ 24 января 2011

В блоке скрипта комментарии HTML обрабатываются немного по-разному. В блоке скрипта однострочный комментарий.

Причина этого в том, что в действительно старых браузерах, которые не знают о тегах скрипта, вы можете использовать разметку такого рода, и если он не понимает теги скрипта, он не будет отображать JavaScript на странице (потому что он думает, что в комментарии), и если он понимает теги скрипта, он будет рассматривать открывающий тег как однострочный комментарий, а затем закрывающий тег обычно помечается как commetn с использованием //.

Итак, в общем, эти теги комментариев не должны вызывать у вас проблемы, которые я вижу.

Не запускается ли скрипт на вашей странице, или вы просто не знаете, в чем заключается ваша проблема? Вставить "предупреждение (" тест "); в этот блок следует подтвердить, что он запускается.

...