【发布时间】:2015-09-04 21:51:15
【问题描述】:
我正在尝试触发一些关于链接点击的跟踪信息,并且我一直在尝试我从网上找到的不同地方汇总的功能。
经过一些测试,我最终得到了两个触发我想要的函数。但是,这些似乎正在写入全局对象,因为在调用函数后,事件会在其他地方不断触发。我通过添加最后一行来解决这个问题,但这似乎是一个创可贴,可能会掩盖一个潜在的更大问题。我首先做错了什么,我应该怎么做才能避免这种情况?如果不写入 s.events 对象,我无法触发事件
function f1(){
s.linkTrackVars= s.linkTrackVars+',eVar45,events';
s.eVar45='Chat button exposed';
s.linkTrackEvents = s.events = 'event11'; // hmmm
s.tl(this, 'o', 'blah');
s.linkTrackVars = s.linkTrackEvents = s.events = ""; // Added this to empty the global objects
}
function f2(){
s.linkTrackVars= s.linkTrackVars+',eVar46,prop45,events';
s.eVar46='Clicked chat button';
s.prop45='Clicked chat button';
s.linkTrackEvents = s.events = 'event31'; // hmmm
s.tl(this, 'o', 'blah');
s.linkTrackVars = s.linkTrackEvents = s.events = ""; // Added this to empty the global objects
}
我猜问题是标记为“hmm”的行,但这是我可以触发事件的唯一方法,如果我删除 s.linkTrackEvents 或 s.events 它不会触发事件。无论哪种方式,我似乎都必须将所有变量设置为空字符串,以避免其他操作使用这些值。有什么想法吗?
谢谢
【问题讨论】: