Итак, сегодня, выбрав из списка тем самую лёгкую, я напишу о том, как разместить код google analytics.
Безусловно, мы все с вами профессионалы, и в статье речь не идёт о простой вставке того кода, что даёт нам сайт гугла. Исходный код у вас может выглядеть так:
<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"> var pageTracker = _gat._getTracker("UA-3189854-1"); pageTracker._initData(); pageTracker._trackPageview(); </script>
Но этот код можно немного оптимизировать. У меня вот блокируются все коннекты к всякой статистике, так что файрфокс постоянно ругается на необъявленную функцию. Просматривая вёрстку на зарубежных сайтах, я часто замечаю, что ошибки экранируют через try-catch, таким способом:
<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-3892196-15"); pageTracker._trackPageview(); } catch(err) {}</script>
Во-вторых, для восприятия, можно упростить начальную конструкцию, если вы не используете https, т.е. сразу написать
<script src="http://www.google-analytics.com/ga.js" type="text/javascript"></script>
Также, кроме экранирования, можно проверять является запускаемый объект функцией. Например для другой разновидности статистики я делала так:
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script>
<script type="text/javascript">
_uacct = "UA-3285019-1";
if(typeof urchinTracker=='function')
urchinTracker();
</script>
На этом всё =). Надеюсь этот совет поможет всем html-маниакам держать свой код в чистоте.
Комментарии: