我有一个包含项目列表的页面。每个项目都有一个打印链接(a.printMe
)来打印每个项目。在列表的末尾,有一个打印所有项目的链接(a.printAll
)。
我想要跟踪项目的打印次数。如果点击了a.printAll
链接,那么我会将所有商品的跟踪值发送到Omface.我将跟踪字符串添加到单个项目的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。有没有人实现了这样的东西并开始工作?
发布于 2011-01-25 06:14:55
如果没有第三个参数,该函数将尝试读取href,但由于此操作失败,因此无法按预期工作。
作为附注,我想指出的是,简单地添加自定义链接值"all“而不是为每个链接发送一个命中将是首选的。有了这么多的服务器调用,您只会造成额外的流量(可以更好地利用),并可能以不可靠的数据结束(一些请求可能会失败)。
发布于 2010-05-14 12:30:57
修正:s.tl(true, 'o');
应该包含value
作为最后一个参数。
所以最终结果应该是s.tl(true, 'o', value);
https://stackoverflow.com/questions/2810446
复制相似问题