我有一个s.tl()调用时似乎无法清除s.events。我该如何清除s.events?

时间:2012-02-09 02:00:04

标签: javascript adobe-analytics

Omniture跟踪问题:

我的页面上有一个模块,可以加载一些第三方信息。当该模块加载时,我调用“s.tl()”调用。不幸的是,如果我在某个链接或网站上的某些内容上点击过,那么s.events就会有一个值。

因此,当模块加载时...'s.events'值变粘,然后在加载模块时调用s.tl()时传递。因此,dbl计算点击次数等。当模块加载并调用s.tl()时,我需要将s.events设置为空。如何?

我尝试了正常的js作业。 ala s.events =“”,我尝试过clearVars()插件方法,没有去..似乎没什么用。

任何帮助?

4 个答案:

答案 0 :(得分:0)

您可以尝试s.events.length = 0;将其重置为空。

答案 1 :(得分:0)

通常不需要清除变量,因为在提交链接跟踪图像请求之前定义了要跟踪的正确变量。每次加载页面后都会重置所有变量。

如果要清除事件变量,可以使用:

s.events=null;

要么在调用下一个图像请求之前使用不同的事件定义事件变量。

答案 2 :(得分:0)

听起来你可能需要在函数中包装你的s.tl()调用。这是我如何实现我的s.tl()调用的一个例子。希望这会对你有所帮助。 :)

function trackOmniEvent(eventString, eventLabel) {
    /* uses global namespace s */
    // set vars
    s.linkTrackVars="eVar58,events";
    s.linkTrackEvent="event20";
    s.events="event20";
    s.eVar58=eventString;
    // run tracker
    s.tl(this,'o',eventLabel);
    // reset vars
    s.linkTrackVars="None";
    s.linkTrackEvent="None";
    s.eVar58="";
    s.events="";
}

答案 3 :(得分:0)

每次拨打s.linkTrackEvents电话时,您都应始终设置s.linkTrackVarss.tl()。 所以在你的情况下你会做这样的事情:

s.linkTrackVars = "prop25,eVar25";
s.linkTrackEvents = "none";
s.prop25 = 'someValue';
s.eVar25 = 'someValue';
s.tl(true, 'o', 'linkName');

这将在进行s.tl()来电时重置所有预定义事件。

有活动时的示例:

s.linkTrackVars = "prop25,eVar25,events";
s.linkTrackEvents = "event25";
s.prop25 = 'someValue';
s.eVar25 = 'someValue';
s.event25 = 'someEventValue';
s.tl(true, 'o', 'linkName');