Зацикливание элементов с помощью Jquery и вызов функции Omniture s.tl () для отслеживания - PullRequest
0 голосов
/ 11 мая 2010

У меня есть страница со списком предметов. Каждый элемент имеет ссылку для печати (a.printMe) для печати каждого элемента. В конце списка есть ссылка «распечатать все» (a.printAll) для печати всех элементов.

Я хочу отслеживать количество раз, когда элемент был напечатан. Если щелкнуть ссылку a.printAll, я отправлю все значения отслеживания элемента в Omniture. Я добавил строку отслеживания в атрибут a.printMe href отдельного элемента и отслеживал следующие функции:

$('a.printMe').click(function() {
   var value = $(this).attr('href');
   track(value);
});

$('a.printAll').click(function() {
   $('a.printMe').each(function() {
      this.click();
   }); // works in IE only. IE 6-8
}); 

function track(value) {
   var s = s_gi('account');
   s.prop10 = value;
   s.linkTrackVars = 'prop10';
   s.tl(true, 'o');
}

В IE 6-8 все значения публикуются нормально, когда я нажал на a.printAll. Я понимаю, что в Firefox , click событие только для input элементов. Итак, я реализовал следующее:

$('a.printMe').each(function() {
   var trackingCode = $(this).attr('href').replace('#','');
   track(trackingCode);
});

Но только стоимость последнего предмета отправляется в Omniture. Кто-нибудь реализовал что-то подобное и работает?

Ответы [ 2 ]

1 голос
/ 25 января 2011

Если третьего аргумента нет, функция пытается прочитать href, но, поскольку это не сработает, она не будет работать так, как задумано.

В качестве дополнительного примечания я хотел бы отметить, что предпочтительнее было бы просто добавить пользовательское значение ссылки «all» вместо отправки одного хита для каждой ссылки. При таком количестве обращений к серверу вы просто создаете дополнительный трафик (который можно было бы использовать лучше) и могли бы получить ненадежные данные (некоторые запросы могли бы потерпеть неудачу).

0 голосов
/ 14 мая 2010

ИСПРАВЛЕНО: s.tl(true, 'o'); должно включать value в качестве последнего параметра.

Таким образом, конечный результат должен быть s.tl(true, 'o', value);

...