суббота, 17 апреля 2010 г.

Другим Google Analytics и LightBox

Писал пару недель назад сайт для команды Belagio и в качество фотогалереи решил использовать LightBox. (тыц)

Это галерея позволяет просматривать фотографии посредствами javascript без перезагрузки страницы: удобно, быстро, красиво, но…

Для сбора статистики на сайте я использую Google Analytics - бесплатную и очень мощную систему учета статистики от гиганта Google. Для этого в коде каждой странице есть счетчик

<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-12103023-1″);
pageTracker._trackPageview();
} catch(err) {}</script>

Счетчик “срабатывает” при загрузке страницы, но как же считать статистику по фотографиям, если мы пользуемся LightBox? Где, я напомню, подгрузка фотографий происходит с помощью javascript и без перезагрузки страницы.

После 1 минуты поиска в Google (гы-гы) попадаем на страницу их хелпа к Google Analytics

By using the _trackPageviewfunction, you can assign a page filename to any Javascript event.

Importantif your pages include a call to _trackPageview, _setAllowLinker _trackTrans(), your Analytics tracking code must be placed in your HTML code above any of these calls. In these cases the tracking code can be placed anywhere between the opening <body> tag and the JavaScript call.

To track an event, call _trackPageview() with an argument specifying a name for the event. For example:

pageTracker._trackPageview(”/homepage/link1″);

Отлично, то что нужно. Сделаем чтобы при клике на превью фотографии выполнялась функция pageTracker._trackPageview(”<адрес картинки>”);

<a href=”/photos/martin/martin_49.jpg” rel=”lightbox-tour” title=”Фотограф Анна Мартин.” onClick=”javascript: pageTracker._trackPageview(’/photos/martin/martin_49.jpg’)”> <img src=”/photos/martin/martin_thumb_49.jpg” alt=”Фотограф Анна Мартин.” border=”1″> </a>

Отлично, справились? А вот хрен.

Открывает файл “jquery.lightbox.js”, находим нужные функции и

// Prev
$(’#lightbox-nav-btnPrev’).unbind().hover(function() { // over
$(this).css({ ‘background’ : ‘url(’ + $.Lightbox.files.images.prev + ‘) left 45% no-repeat’ });
},function() { // out
$(this).css({ ‘background’ : ‘transparent url(’ + $.Lightbox.files.images.blank + ‘) no-repeat’ });
}).click(function() {
$.Lightbox.showImage($.Lightbox.images.prev());
pageTracker._trackPageview($.Lightbox.images.image.src);
return false;
});

// Next
$(’#lightbox-nav-btnNext’).unbind().hover(function() { // over
$(this).css({ ‘background’ : ‘url(’ + $.Lightbox.files.images.next + ‘) right 45% no-repeat’ });
},function() { // out
(this).css({ ‘background’ : ‘transparent url(’ + $.Lightbox.files.images.blank + ‘) no-repeat’ });
}).click(function() {
$.Lightbox.showImage($.Lightbox.images.next());
pageTracker._trackPageview($.Lightbox.images.image.src);
return false;
});

Теперь все работает

Ура!

Здесь можно оставить свои комментарии

Комментариев нет:

Отправить комментарий