我想跟踪用户何时使用 Omniture 的“自定义链接跟踪”提交表单。此功能利用内置功能s.tl()
。典型的设置如下所示:
$('a#submit').click(function () {
s.trackExternalLinks = false;
s.linkTrackVars = 'events,prop1';
s.linkTrackEvents = s.events = 'event1';
s.prop1 = s.pageName;
s.tl(this, 'o', 'Form Submitted');
});
<a id="submit">
单击示例链接 ( )时,此代码可以正常工作。比如说,我们想调用一个函数来触发链接跟踪:
// function to track custom link
var trackLink = function() {
s.trackExternalLinks = false;
s.linkTrackVars = 'events,prop1';
s.linkTrackEvents = s.events = 'event1';
s.prop1 = s.pageName;
s.tl(this, 'o', 'Form Submitted');
};
// Form Submission code calls trackLink()
$.ajax({
type: 'POST',
url: submit.php,
data: [data],
success: trackLink()
});
调用trackLink()
results in undefined
,大概是因为this
ins.tl()
不再指向 DOM 对象?this
用类似的东西替换$('a#submit')[0]
(尝试将对象传递给它而不是this
)也会导致undefined
. 我究竟做错了什么?