Javascript 跟踪不作为超链接使用的onClick链接

Javascript 跟踪不作为超链接使用的onClick链接,javascript,hyperlink,onclick,tracking,Javascript,Hyperlink,Onclick,Tracking,这两个按钮不能作为链接使用,请参见:即,您单击但什么也没有发生。如果将“return false”更改为“return true”,按钮将再次工作,但不再向跟踪公司注册。因此,我的问题是如何保持“return false”同时让它们作为链接工作。首先。如果必须在html中嵌入javascript(不推荐),则不需要在事件中声明javascript:(onclick)。最好使用dom方法el.addEventListener('click',kenshoo\u conv,false) 如果您需要在

这两个按钮不能作为链接使用,请参见:即,您单击但什么也没有发生。如果将“return false”更改为“return true”,按钮将再次工作,但不再向跟踪公司注册。因此,我的问题是如何保持“return false”同时让它们作为链接工作。

首先。如果必须在html中嵌入javascript(不推荐),则不需要在事件中声明
javascript:
onclick
)。最好使用dom方法
el.addEventListener('click',kenshoo\u conv,false)

如果您需要在页面卸载之前启动一个函数,那么您需要对该函数进行一些控制,以了解它何时成功启动了跟踪功能

一旦附加了
onclick
,就可以使用事件参数(传递给函数)停止触发事件,
evt.preventDefault()
,执行所有需要执行的操作,然后在成功触发跟踪器becon时设置
位置.href

所有代码都可能是这样的(假设所有内容都正常化了,所以不在IE中):

HTML


沙文

<a href="konkurranseregler.html" data-args="rules,0,,sem,NOK"   
   class="kenshoo_conv_link">KONKURRANSEREGLER</a>
函数kenshoo_conv(evt){ var dest=this.href, args=this.getAttribute('data-args').split(“,”); evt.preventDefault(); //将成功事件添加到参数 args.push(函数(){ location.href=dest; }); //启动跟踪功能 trackMe.apply(这个,args); } var kenshoo_conv_links=document.getElementsByClassName(“kenshoo_conv_link”); 对于(var i=0,il=kenshoo_conv_links.length;i
这将使trackMe函数中的最后一个参数成为回调,以更改链接到目标的位置。因此,一旦跟踪器成功启动,您就必须启动该函数。如果您不知道这一点,您可以在超时后(不理想)

您可能希望接受对您发布的问题的一些回答-您将从成员那里获得对回答新问题的更多兴趣。您是否检查了定义
kenshoo_conv()
函数的javascript文件是否已正确加载?
<a href="konkurranseregler.html" data-args="rules,0,,sem,NOK"   
   class="kenshoo_conv_link">KONKURRANSEREGLER</a>
function kenshoo_conv(evt) {
    var dest = this.href,
        args = this.getAttribute('data-args').split(",");

    evt.preventDefault();

    //add success event to arguments
    args.push(function () {
       location.href = dest;
    });

    //fire the tracking function
    trackMe.apply(this, args);
}

var kenshoo_conv_links = document.getElementsByClassName("kenshoo_conv_link");
for (var i = 0, il = kenshoo_conv_links.length; i < il; i += 1) {
    kenshoo_conv_links[i].addEventListener('click', kenshoo_conv, false);
}