我有一个包含项目列表的页面。每个项目都有一个打印链接(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。有没有人实现过这样的工作?
答案 0 :(得分:1)
如果没有第三个参数,该函数会尝试读取href,但由于此失败,它无法按预期工作。
作为旁注,我想指出,只需添加自定义链接值“all”而不是为每个链接发送一个匹配将是首选。通过这么多服务器调用,您只需要产生额外的流量(可以更好地使用),最终可能会出现不可靠的数据(某些请求可能会失败)。
答案 1 :(得分:0)
FIXED:s.tl(true, 'o');
应该包含value
作为最后一个参数。
所以最终结果应该是s.tl(true, 'o', value);