2012-03-20 108 views
0
<li><a href="konkurranseregler.html" onclick="javascript:kenshoo_conv('rules','0','','sem','NOK');return false;">KONKURRANSEREGLER</a></li> 

<div class ="contactButton"> <a href="http://www.altavdrikke.no/#top" onclick="javascript:kenshoo_conv('kontakt','0','','sem','NOK');return false;"><span>Kontakta Oss</span></a></div> 

这两个按钮不起作用的链接,请参阅:http://www.undergroundblc.co.uk/chaqwa/即你点击,但没有任何反应。如果您将“返回false”更改为“返回true”,则按钮将再次运行,但不再向跟踪公司注册。所以我的问题是如何保持'返回false',但让他们作为链接工作。跟踪的onClick链接无法正常运转的超链接

+3

你可能想接受你发布的问题的一些答案 - 你会在成员回答你的新问题时获得更多的兴趣。 – 2012-03-20 21:26:47

+0

您是否检查过定义了'kenshoo_conv()'函数的JavaScript文件是否已正确加载? – Moses 2012-03-20 21:33:53

回答

0

首先。如果您必须在html中嵌入JavaScript(不推荐),则不需要在事件中使用javascript:声明(在本例中为onclick)。使用dom方法el.addEventListener('click', kenshoo_conv, false)会好得多。

如果您需要在页面卸载之前触发函数,您需要对该函数进行一些控制,以了解它何时成功触发了跟踪becon。

一旦你onclick连接,您可以使用事件参数(传递给函数),以阻止燃烧,evt.preventDefault()的情况下,你需要做的一切,然后设置location.href当你跟踪BECON有成功解雇。

所有你的代码可能看起来是这样的(假设一切都是标准化的,所以没有在IE):

HTML

<a href="konkurranseregler.html" data-args="rules,0,,sem,NOK" 
    class="kenshoo_conv_link">KONKURRANSEREGLER</a> 

JAVSCRIPT

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); 
} 

这将使最后trackMe函数中的参数用于将位置更改为链接目的地的回调。因此,一旦跟踪器成功解雇,您必须启用该功能。如果你不知道,你可以在超时后做到(不理想)