Писал пару недель назад сайт для команды 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
Important: if 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(”<адрес картинки>”);
Отлично, справились? А вот хрен.
Открывает файл “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;
});
Теперь все работает
Ура!



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